gpt4 book ai didi

c - 并非for循环中的所有指令都被执行

转载 作者:行者123 更新时间:2023-11-30 15:54:22 24 4
gpt4 key购买 nike

根据以下数据,以下第 18 行代码已被注释:

1
3 3 1

产量

field 1 1
field 1 2
field 1 3
field 2 1
field 2 2
field 2 3
field 3 1
field 3 2
field 3 3

但是,如果我保留该行原样,它只会每隔一步执行 scanf(...) 。问题出在哪里?

#include <stdio.h>

char field[102][102];

main()
{
int t;
scanf("%d",&t);
while (t--)
{
int r, c, n, i, j;
scanf("%d %d %d", &r, &c, &n); // wczytanie liczby wierszy, kolumn, dni
for (i=1; i<=r; i++) // wiersze
{
for (j=1; j<=c; j++) // kolumny
{
printf("field %d %d\n", i, j);
scanf("%c", &field[i][j]); // line 18 here
}
}
}
return 0;
}

最佳答案

问题是,当您扫描一个字符时,您实际上发送了两个:被扫描的字母和下次读取的“隐藏”'\n'。只需在 scanf 之后使用 getch() 即可读取(并丢弃)该换行符。

关于c - 并非for循环中的所有指令都被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13037311/

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