问题 单项选择题

有以下程序:
#include< stdio.h>
#include< string.h>
main()
char x[]="STRING";
x[0]=0; x[1]='\0'; x[2]='0';
printf("%d%d\n", sizeof(x), strlen(x));
程序运行后的输出结果是

A) 6 1
B) 7 0
C) 6 3
D) 7 1

答案

参考答案:B

解析: sizeof是返回字符串在内存中所占用的空间,是真正的长度。strlen是返回字符串的长度strlen遇到'\0'就结束,而且不包括'\0'。程序中x[0]=0,给数组的第一个元素赋值为0,所以strlen返回0。因此答案为B)。

单项选择题 A1/A2型题
问答题 案例分析题