单选题 有以下程序:
#include <stdio.h>
main()
{ char*mm[4]={"abcd","1234","mnop","5678"};
char** pm=mm;
int i;
for(i=0; i<4; i++) printf("%s",pm[i]+i);
printf("/n");
}
程序的运行结果是______。
  • A.abed1234mnop5678
  • B.abcd234op8
  • C.a2o8
  • D.a1m5
【正确答案】 B
【答案解析】[解析] 程序执行过程为:定义指针数组,长度为4,并为其初始化为4个字符串。定义指向指针的指针,并为其初始化为指针数组首地址。for循环依次输出4个字符串,第i个字符串从第i个下标值处开始输出到字符串结束,即第一个字符串输出abcd,第二个字符串输出234,第三个字符串输出op,第四个字符串输出8。程序的运行结果是abcd234op8,故B选项正确。