如代码 在大佬的指导下从
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%c",&a[i][j]);
}
getchar();
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%c",&b[i][j]);
}
getchar();
}
的输入变成了
for(int i=0;i<n;i++){
scanf("%s",a[i]);
}
for(int i=0;i<n;i++){
scanf("%s",b[i]);
}
getchar();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=a[i][j];
}
}
但是这样出现了莫名其妙的问题 比如用第一个去跑
4
--@@
@@--
@-@-
-@-@
@@--
--@@
-@-@
@-@-
这个数据 就会得到正确的结果4
但是如果用第二个代码(字符串)就得到7
这说明我的代码判断部分没问题 问题是在数组存入上 后来经过下面的验证也证实了
然后我监视了输入 发现了一个很奇怪的地方 在执行到将a中字符导入c中前 a中放的数据完全和输入一致 但是在进行
getchar();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=a[i][j];
}
}
这一步前 我需要输入一个回车 然后这个时候a[0][0]就会变成0元素了 同样c中复制的也是0进而导致下面判断出错。不知道为什么会这样 谢谢(ps:c数组我复制过来是因为后期要用)