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

admin2019-05-17  19

问题 有以下程序,执行后的结果是
#include
main(){
char s[]="abcde";
s+=2;
printf("%d\N",s[0]);
}

选项 A、输出字符C的ASCII码
B、输出字符C
C、输出字符a的ASCII码
D、程序出错

答案D

解析 因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。
转载请注明原文地址:https://jikaoti.com/ti/TSf0FFFM
0

最新回复(0)