单选题
有以下程序:
main()
char*p[]="3697","2584";
int i,j;long num=0;
for(i=0;i<2;i++)
j=0;
while(p[i][j]!='/0')
if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';
j+=2;
printf("%d/n",num);
程序执行后的输出结果是______。
A) 35 B) 37 C) 39 D) 3975
【正确答案】
C
【答案解析】[解析] 通过赋值表达式指针数组*p[]等价于数组p[2][4];表达式“p[i][j]-'0'”可用来表示该字符数组元素的数值,故表达式“(p[i][j]-'0')%2”为判断该字符数组元素的数值的奇偶性,表达式“num=10*num+p[i][j]-'0'”中的数值运算表示直接加该字符数组元素的数值。