A-A+

有以下程序: #include <stdio.h> main() { char s[ ] =

2022-08-06 05:11:00 问答库 阅读 176 次

问题详情

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

参考答案

正确答案:A
解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。

考点:程序