问题 单项选择题

有下列程序: main() {char s[]="abcde"; s+=2; printf("%d\n",s[0]; } 执行后的结果是( )。

A.输出字符a的ASCII码

B.输出字符c的ASCII码

C.输出字符c

D.程序出错

答案

参考答案:D

解析: 因为字符数组s1)中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位,因而程序编译时出错。

选择题
单项选择题