有以下程序 main() { char s[]="159",*p; p=s; printf("%c",*p++); pritnf("%c",*p++); } 程序运行后的输出结果是

admin2009-01-15  35

问题 有以下程序    main()    {  char  s[]="159",*p;      p=s;      printf("%c",*p++);      pritnf("%c",*p++);    }    程序运行后的输出结果是

选项 A、15
B、16
C、12
D、59

答案1

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

最新回复(0)