A-A+

有以下程序 main() { char s[]=159 *p; p=s; printf(

2022-08-06 04:52:22 问答库 阅读 176 次

问题详情

有以下程序 main() { char s[]="159",*p; p=s; printf("%c",*p++); pritnf("%c",*p++); } 程序运行后的输出结果是
A.15
B.16
C.12
D.59请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:本题首先定义了一个字符数组并用字符串"159"初始化之,然后用一个字符型指针p指向该数组的第一个元素,最后两次输出表达式*p++的值,所以本题的关键在于求解表达式*p++的值。*和++的优先级相同,但结合性是“从右至左”,即*P++相当于*(P++),由于子表达式p++的值是p自增之前的值,所以第一次输出的是数组的第一个元素的值'1',到第二条输出语句时p已自增1次,所以第;次输出的是第二个元素'5'。故应该选择选项A。

考点:程序