有以下程序:#include <stdio.h>#include <string.h>main( ) { char a[ 7 ] = "a0 \0a0 \0"; int i,j; i = sizeof(a); j = strlen(a)

admin2009-01-15  26

问题 有以下程序:#include <stdio.h>#include <string.h>main( ) {  char a[ 7 ] = "a0 \0a0 \0";    int i,j;    i = sizeof(a);    j = strlen(a);    printf(" % d %d \n" ,i,j); }程序运行后的输出结果是(    )。

选项 A、22
B、76
C、72
D、62

答案4

解析 C语言.中以,’\0’作为字符串的结束符,且strlen函数计算的是,’\0’,字符前的所有字符的个数,故本题中strlen(a)应为2。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof运算符是计算变量或数组所分配到的内存空间的大小,所以本题的 sizeof(a)为7。
转载请注明原文地址:https://jikaoti.com/ti/PeK0FFFM
0

最新回复(0)