问题 单项选择题

有以下程序:
#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)。

填空题
单项选择题