问题 单项选择题

下面程序的输出结果是______。
#include<stdio.h>
main()
char *p[]="BOOL","OPK","H","SP";
int i;
for(i=3;i>=0;i-,i-)
printf("%c",*p[i]);
printf("\n");

A) SO
B) SP
C) SPOPK
D) SHOB

答案

参考答案:A

解析: p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。
在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

选择题
多项选择题