A-A+

有以下程序 include<stdio.h> main(){ chars[]=abcde;

2022-08-12 18:58:27 问答库 阅读 197 次

问题详情

有以下程序 include<stdio.h> main(){ chars[]=abcde; s+=2; printf(%dn,s[0]); } 执行后的结果是
A.输出字符c的ASCⅡ码
B.输出字符C
C.输出字符a的ASCⅡ码
D.程序出错

请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:程序