问题 单项选择题

有以下程序: main() { char a[7]="a0\0a0\0"; int i, j; i=sizeof(a); j=strlen(a); printf("% d % d\n", i, j); } 程序运行后的输出结果是______。

A.2 2

B.7 6

C.7 2

D.6 2

答案

参考答案:C

解析: sizeof(a)是求a在内存中的字节数,由于定义了a的长度为7,所以sizeof(a)=7,strlen(a)是求字符串a的长度,因为在第一个a0有一个结束标志符'\0',在其之后的所有字符均不记入a中,所以strlen(a)=2。

单项选择题
单项选择题