帮我看下这段 C程序啊。。。

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:09:20
void main(){
int i,j;
scanf("%d",&N);
for(i=0;i<N;i++)
for(j=0;j<=N;j++)
scanf("%c",&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<=N;j++)
scanf("%c",&b[i][j]);

输入 第一行 1
第二行@
第三行#
是不是等于a[0][0]='@' b[0][0]='#'啊 ? 可是用==判断他俩相等怎么回事啊啊

正确的完整程序,输入 第一行 1
第二行@
第三行#
应该是a[0][0]='@',a[0][1]='#'
你的N与数组没定义的话通不过编译的
个人认为,经供参考

首先定义数组,再输入N值,注意N值要比数组列数小1 (j<=N) 要不然就会出现地址越界问题.
两个数组不能直接用==来比较的,只能比较其中的单个元素.
比如数组a装的是1 2 3
4 5 6
数组b装的是 1 2 3
4 5 6
也不可能直接用a == b 来比较.只能用a[i][j] == b[i][j]
也就是比的是哪一个数值.记住这里的a, b代表的是一连片的数,或说是这边片数的地址.