问题
单项选择题
有下列程序:
main()
char s[]="abcde";
S+=2;
printf("%d\n",s[0]);
执行后的结果是( )。
A) 输出字符a的ASCII码
B) 输出字符c的ASCII码
C) 输出字符c
D) 程序出错
答案
参考答案:D
解析: 因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。