我是C的初学者,目前我正在经历一些麻烦.我在尝试在char矩阵中输入值然后打印它时遇到问题.
这是我的代码:
#include <stdio.h>
#define N 3
int main( )
{
char arr[N][N]={{0}};
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
scanf("%c",&arr[i][j]);
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%c",arr[i][j]);
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出结束时缺少两个字符.
我不知道我做错了什么,我想理解我的错误:
- 这是涉及scanf功能的某种问题吗?我之前听说过缓冲区,那有关系吗?问题来自我按下输入的那一刻?
- 我以错误的方式初始化我的矩阵?
- 在这种情况下使用getchar()会更好吗?如果是这样,我怎样才能设法准确输入N*N值而不是更多?
非常感谢.约旦.