二维数组定义时 char *p[2] 是什么意思
有以下程序
#include <stdio.h>
main()
{ char
c[2][5]={"6938","8254" }, *p[2];
int i, j, s=0;
for( i=0; i<2; i++ )
p[i]=c[i];
for( i=0; i<2; i++ )
for( j=0; p[i][j]>0 ; j+=2 )
s=10*s+p[i][j]-'0';
printf("%d\n",s);
}
程序运行后的输出结果是
A) 6938
B) 9824
C) 4528
D) 6385
在这道题里面根据p[i][j]可以知道p就是个二维数组
定义时*p[2] 我觉得应该是定义了一个列数为2的二维数组且p指向第一行的首地址
那么这个数组每一行不是应该只能存放2个字符吗 为什么这里还是将c数组的4个字符赋给了*p数组 是题错误还是我理解错误 求解