起因:scanf的%c格式可以读取空格和回车
读取中间无空格隔开的二维字符数组时
#include<bits/stdc++.h>
using namespace std;
char mp[10][10];
signed main()
{
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
scanf("%c",&mp[i][j]);
}
getchar();//吸收回车,不然会被scanf读取
}
puts("");
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
printf("%c ",mp[i][j]);
}
puts("");//换行
}
return 0;
}
输入与输出
读取中间有空格隔开的二维字符数组时
#include<bits/stdc++.h>
using namespace std;
char mp[10][10];
signed main()
{
for(int i=1;i<=3;i++){
int j;
for(j=1;j<=2;j++){
scanf("%c ",&mp[i][j]);//%c后记得接空格
}
scanf("%c",&mp[i][j]);
getchar();//吸收回车,不然会被scanf读取
}
puts("");
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
printf("%c ",mp[i][j]);
}
puts("");//换行
}
return 0;
}
输入与输出