C - 使用 for 循环填充数组

标签 c arrays loops

我的目标是编写一个 for 循环,用 NUM_GUESSES 填充数组 userGuesses。

我相信我唯一的问题是第一个 for 循环。有人能指出我正确的方向吗?我假设如果是 C++,在这种情况下我会使用 cin 之类的东西,但我不太确定 C。

#include <stdio.h>

int main(void) {
   const int NUM_GUESSES = 3;
   int userGuesses[NUM_GUESSES];
   int i = 0;

   for (i = 0; i < NUM_GUESSES; i++) {
      scanf("%d", i);
   }

   for (i = 0; i < NUM_GUESSES; ++i) {
      printf("%d ", userGuesses[i]);
   }

   return 0;
}

最佳答案

当你读取一个数字时,你把它存储在哪里?您希望第一个数字存储在数组的第一个单元格中,依此类推。第 i 个数字存储在数组的第 i 个单元格中。

此外,您不希望您的 i 计数器获取输入值!

此外scanf()需要一个指向变量的指针。

所以,改变这个:

scanf("%d", i);

对此:

scanf("%d", &userGuesses[i]);

关于C - 使用 for 循环填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46131234/

相关文章:

c - 为什么保存受限指针的值不会给出未定义的行为?

c - 我如何在 c 中创建哈希表的动态数组

excel - 如何使用 VBA 遍历 Excel 中的可变列长范围

c++ - 如何遍历类 C++ 的变量成员

将 C 代码编译为 MIPS 程序集

c - while循环在for循环之后不执行

c - 循环打印数组内容时程序挂起

java - 将字节流转换为字节数组,无需额外空间

wpf - WPF:另一个线程拥有的 Storyboard 循环对象

c - 十六进制的 'E/e' 与十六进制浮点文字中的指数形式的 'E/e' 如何区分?