注册 登录
编程论坛 C语言论坛

对于scanf()读取输入时回车键影响的一点疑惑,求解

hanserisgood 发布于 2022-09-23 15:37, 1061 次点击
函数如下
include<stdio.h>
int main(void)
{
    int a[4][4],b[4][4];
    printf("Input 16 numbers:\n");
    for(int i=0;i<4;i++)
     for(int j=0;j<4;j++)
     {
     scanf("%d",&a[i][j]);
     b[j][i]=a[i][j];
     }
    printf("arrayb:\n");
    for(int i=0;i<4;i++)
    for(int j=0;j<4;j++)
    printf("%6d",b[i][j]);
    printf("\n");
    return 0;
}
这个函数没有问题,但我对于输入的方式有点疑惑,运行程序后要求输入16个数,我想写成4✖4的表格形式(因为直接输入想要看出矩阵的转置不够直观),但是这就要在输入的过程中同时输入回车键,这里也没有问题,问题是我输入完了之后想让程序继续运行,这时候按回车键仍然是换行了,没法让程序打印b数组了,这有办法解决么?求解
4 回复
#2
rjsp2022-09-23 17:23
肉眼没能看出问题
#3
md000000002022-09-23 19:13
我这里运行输入4x4表格没有问题
#4
apull2022-09-23 23:45
程序代码:


include<stdio.h>
int main(void)
{
    int a[4][4],b[4][4];
    printf("Input 16 numbers:\n");
    for(int i=0;i<4;i++)
     for(int j=0;j<4;j++)
     {
     scanf("%d",&a[i][j]);
     b[j][i]=a[i][j];
     }
    printf("arrayb:\n");
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
            printf("%6d",b[i][j]);
        printf("\n");//每行后面一个回车换行。
    }
    return 0;
}
#5
hanserisgood2022-09-27 19:52
回复 3楼 md00000000
ok谢谢了
1