有下列程序:   main()  {char p[]{’a’,’b’,’c’},q[]=""abe"";    printf(""%d%d\n"",sizeof(p),sizeof(q));

admin2012-12-03  18

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

选项 A、4 4
B、3 3
C、3 4
D、4 3

答案C

解析 语句char p[]={’a’,’b’,’c’};定让了一个一维字符数组p[]。并用3个字符’a’,’b’,’c’进行了初始化;而语句q[]="abc"表示定义了一个一维字符数组,并用一个字符串常量"abc"进行了初始化。在C语言中.系统在每个字符串常量的最后自动加入一个字符’\0’作为字符串的结束符。所以函数sizeof(q)-4,而sizeof(p)=3,因而选项C为正确答案。
转载请注明原文地址:https://kaotiyun.com/show/auPp777K
0

最新回复(0)