有以下程序 main ( ) { char a[7]="a0\0a0\0"; int i,j; i=sizeof(a); j=strlen(a); printf ( " %d %d\n",i, j);

admin2009-01-15  42

问题 有以下程序    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

答案4

解析 本题主要考查的是C语言中的数组长度和字符串长度。数组长度指的是一个数组所占内存空间的字节数,数组长度可以通过sizeof(<数组名>)来求得;字符串长度是指从指定内存地址开始直到碰到第一个’\0’字符为止所经过的字符数(不包括’\0’字符),字符串长度可以通过字符串函数strlen(<字符串首地址值>)来求得。所以本题程序运行后,变量i中是数组a的长度7,变量j中是数组a中第一个’\0’字符之前的字符数2:选项C符合题意。
转载请注明原文地址:https://kaotiyun.com/show/bOHp777K
0

随机试题
最新回复(0)