问题
单项选择题
以下程序的输出结果是
#include< stdio.h>
main()
char ch[2][5]="6937", "8254", *p[2];
int i, j, s=0;
for(i=0; i<2; i++)p[i]=ch[i];
for (i=0; i<2; i++)
for(j=0; p[i][j]>'\0'; j+=2)
s=10*s+p[i][j]-'0';
A) 69825
B) 63825
C) 6385
D) 693825
答案
参考答案:C
解析: 本题考查通过指针引用字符串数组中的元素。通过行指针p来实现数组元素的引用。用格式说明符%s进行整串输入与输出。
本题中,每行字符指针跳跃式右移动,隔2个移动一次,s存放处理的累计和。
第一行中:
p[0]指针第一遍6-0=6
s=0+6=6
p[0]指针第二遍3-0=3
s=10 *6+3=63
指针行下标变化,转向第二行
第二行中:
p[1]指针第一遍8-0=8
s=10 *63+8=638
p[2]指针第二遍5-0=5
s=10*638+5=6385
得出结果s=6385。