问题 单项选择题

有以下程序 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。

单项选择题 A1型题
单项选择题 共用题干题