为什么我的for循环不接受9个输入?

use*_*926 4 c loops for-loop

我的代码只需要5个值作为输入.我究竟做错了什么?

#include<stdio.h>
#include<stdlib.h>
int main()
{
    char arr[3][3];
    int i,j,n;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            scanf("%c",&arr[i][j]);
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我该如何纠正呢?

Day*_*rai 8

更改

scanf("%c",&arr[i][j]);
Run Code Online (Sandbox Code Playgroud)

scanf(" %c",&arr[i][j]);.
Run Code Online (Sandbox Code Playgroud)

注意\n当你按下回车键时,在说明符之前给出的空间在stdin缓冲区中使用了左边的空格.

每个\n都作为输入从输入空间获取空间.

  • @ user2556926大多数格式说明符包括%d跳过空格,但%c没有. (3认同)