以下程序的输出结果是______。 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i];

admin2009-02-15  32

问题 以下程序的输出结果是______。    main()    {  char ch[2][5]={"6937","8254"},*p[2];       int i,j,s=0;       for(i=0;i<2;i++)p=ch;       for(i=0;i<2;i++)       for(j=0;p[j]>’\0’;j+=2)       s=10*s+p[j]-’\0’;        printf("%d\n",s);    }

选项 A、69825
B、59713
C、6385
D、693825

答案4

解析 p是指向字符的指针数组。执行第1个循环后,p[0]指向字符数组ch的第1行"6937", p[1]指向字符数组ch的第2行"8254",那么p[0][0]其实就对应着ch[0][0],表示第1行的第1个元素“6”。第2个循环中,外层i循环是控制指针数组p的,内层j循环则是对每一行内的各个元素进行处理,特别注意循环变量j的改变"j+=2"。这样就可以看出是对ch[0][0]、ch[0][2]、ch[1][0]和ch[1][2]进行处理。
转载请注明原文地址:https://kaotiyun.com/show/YCXp777K
0

最新回复(0)