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

有下列程序:main{ char p[]={a,h,c},q[]=&quot


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

  • A4 4
  • B3 3
  • C3 4
  • D4 3
参考答案
参考解析:

语句char p[]={a,b , c);定义了一个一维字符数组p[],并用3个字符a,b ,c 进行了初始化;而语句q[]="abe"表示定义了一个一维字符数组,并用一个字符串常量"abc"进行了初始化。在C语言中,系统在每个字符串常量的最后自动加入一个字符\0 作为字符串的结束符。所以函数sizeof(q)=4,而sizeof(p)=3,因而选项C为正确答案。

分类:其他
相关推荐

1、有以下程序: #include<stdio.h> main() { char

有以下程序: #include<stdio.h> main() { char c[6]; int i=0; for(j<6;c[i]=getchar(),i++); for(i=0,i<6;i++)putchar(c[i]); printf(" "); } 如果从键盘上输...

2、有以下程序段 main() { int a=5,*b,**c; c=&

有以下程序段 main() { int a=5,*b,**c; c=&b;&a; } 程序在执行了“C=&b;b=&a;”语句后,表达式“**c”的值是A变量a的地址B变量b中的值C变量a中的值D变量b的地址

3、有以下程序: #include<stdio.h> main(){ char

有以下程序: #include<stdio.h> main(){ char c[6]; int i=0; for(;i<6;c[i]=getchar(),i++); for(i=0;i<6; i++)putchar(c[i]); printf(" "); } 如果从键...

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() { char s[]="abcde&q

有以下程序main(){char s[]="abcde";s+=2;printf("%dn",s[0]);}执行后的结果是()A输出字符a的ASCII码B输出字符c的ASCII码C输出字符cD程序出错

6、以下程序有错,错误的原因是main(){ int *p,i;char *q,

以下程序有错,错误的原因是main(){ int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ......}A.p和q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不...