gpt4 book ai didi

c - 如何正确地将值输入到矩阵中?

转载 作者:行者123 更新时间:2023-11-30 16:19:11 25 4
gpt4 key购买 nike

我想将值输入到矩阵中,但由于某种原因我使用的代码“跳过”值。要在 3 X 3(9 个值)的矩阵中输入值,我需要输入 10。

#include<stdio.h>
#include<stdlib.h>
int matrix[3][3];
int i,j /*indexes for loops*/
for(i = 0; i < 3; i++) {
for(j = 0; j < 3; j++) {
printf("Enter value for position [%d][%d]: ", i,j);
scanf("%d ",&matrix[i][j]);
}
}

这是我从终端得到的:

Enter a value for position [0][0]: 0
1
Enter a value for position [0][1]: 0
Enter a value for position [0][2]: 0
Enter a value for position [1][0]: 0
Enter a value for position [1][1]: 0
Enter a value for position [1][2]: 1
Enter a value for position [2][0]: 0
Enter a value for position [2][1]: 0
Enter a value for position [2][2]: 0

矩阵打印如下:

0  1  0
0 0 0
1 0 0

但我在接下来的计算中遇到了 0。

最佳答案

格式字符串中的空格告诉 scanf() 匹配零个或多个空白字符,直到匹配失败。空白字符包括空格 (' ')、换行符 ('\n')、回车符 ('\r') 和制表符 ('\t')。当格式字符串末尾出现空格时,scanf() 将尝试匹配输入中的空白字符,直到找不到匹配项。但是,scanf()只能在匹配失败或到达文件末尾时返回,因此,scanf("%d",&matrix[i][j])中%d后面的空格为此错误的原因。去掉空格就可以正常工作了。

关于c - 如何正确地将值输入到矩阵中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55678054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com