目录: 标题| 题干| 答案| 搜索| 相关
问题

有以下程序main(){ char a[7]="a0\0a0\0"; int


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

  • A2 2
  • B7 6
  • C7 2
  • D6 2
参考答案
参考解析:

题目中需要求出程序的输出值i,j,其中i的值由sizeof决定,j的值由strlen函数决定。sizeof是C语言的一种运算符,以字节的形式给出操作数的存储空间的大小。sizeof的操作对象可以是具体的数据类型,也可以是变量。题目中的操作数为数组名,利用sizeof可计算出数组所占用内存的字节数,题目中数组类型为char,大小为7,故该数组占用的内存数为7。strlen函数则是计算一段字符串的长度,可以从整个字符串的头部开始计算,也可以从字符串的中间开始计算,当碰到第一个字符串结束符“\0”,则停止计算,返回当前的计算值。题目中在前两个字符之后就出现了结束符“\0”,故strlen函数的值为2。

分类:其他
相关推荐

1、有以下程序段 int x=3 do { printf("&quo

有以下程序段int x=3do{ printf(""%d"",x-=2); }while (!(--x));其输出结果是()A1B3、0C1、-2D死循环

2、以下程序的输出结果是( )。main{int x=0.5;char z=a;

以下程序的输出结果是( )。main{int x=0.5;char z=a;printf("%d\n",(x&1)&&(z<2));}A0B1C2D3

3、有下列程序:main{ char p[]={a,h,c},q[]="

有下列程序:main{ char p[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序运行后的输出结果是( )。A4 4B3 3C3 4D4 3

4、有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,

有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,′d′, ′\0′, ′f′, ′g′,′h′,′\0′}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b...

5、有如下程序 main() { int n[5]={0,0,0},i,k=2

有如下程序main(){int n[5]={0,0,0},i,k=2;for(i=0;iA不确定的值B2C1D0

6、有以下程序 main() { int m[][3]={1,4,7,2,5,

有以下程序main(){int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}执行后输出结果是()A456B258C369D789