这是我的代码:
#include<stdio.h>
int main()
{
char a[10][10];
int i,n,m,j;
n=2;
m=2;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%c",&a[i][j]);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",a[i][j]);
}
}
}
输出:
a b c d
a b
进程返回0(0x0)执行时间:3.965秒 按任意键继续。
答案 0 :(得分:1)
因为他们正在存储,其中两个就是空间。这就是你没有看到它们的原因。
试试这个,你会明白的
printf("[%c]",a[i][j]);
要解决此问题,您可以执行此操作
scanf(" %c",&a[i][j]);
这会消耗两个字符输入之间的空格字符。
从标准: - 7.21.6.2
输入空白字符(由isspace函数指定) 被跳过,除非规范包含 a [, c 或n说明符
和这个
由空白字符组成的指令由。执行 读取输入到第一个非空白字符(仍然存在 未读),或直到不再能读取任何字符。指令永远不会 失败。