A-A+
有以下程序: main() {char*p[]={3697 2584}; int i
问题详情
有以下程序: main() {char*p[]={"3697","2584"}; int i,j;long num=0; for(i=0;i<2;i++) {j=0; while(p[i][j]!="") {if((p[i][j]-"0")%2)num=10*num+p[i][j]-"0"; j+=2; } } printf("%dn",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'”中的数值运算表示直接加该字符数组元素的数值。