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

admin2013-02-23  11

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

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

答案8

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

最新回复(0)