问题详情

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


A、输出字符a的ASCII码

B、输出字符c的ASCII码

C、输出字符c

D、程序出错

时间:2022-01-07 15:33 关键词:

答案解析

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