有以下程序: main() {char*p[]={"3697","2584"}; int i,j;long num=0; for(i=0;i<2;i++) {j=0; while(p[i][j]!=’\0’) {i

admin2011-06-10  25

问题 有以下程序:    main()    {char*p[]={"3697","2584"};    int i,j;long num=0;    for(i=0;i<2;i++)    {j=0;    while(p[j]!=’\0’)    {if((p[j]-’0’)%2)num=10*num+p[j]-’0’;    j+=2;    }    }    printf("%d\n",num);    }    程序执行后的输出结果是(       )。

选项 A、35
B、37
C、39
D、3975

答案C

解析 通过赋值表达式指针数组*p[]等价于数组p[2][4];表达式“p[j]-’0’”可用来表示该字符数组元素的数值,故表达式“(p[j]-’0’)%2”为判断该字符数组元素的数值的奇偶性,表达式“num=10*num+p[j]-’0’”中的数值运算表示直接加该字符数组元素的数值。
转载请注明原文地址:https://kaotiyun.com/show/23Pp777K
0

最新回复(0)