A-A+

有下列程序:main{ char p[]={a h c} q[]=ahc;printf(

2022-08-06 04:12:59 问答库 阅读 175 次

问题详情

有下列程序:
main
{ char p[]={'a','h','c'},q[]="ahc";
printf("%d%d\n".sizeof(P),sizeof(q));
}
程序运行后的输出结果是()。
A.4 4
B.3 3
C.3 4
D.4 3请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:程序