我如何使用scanf函数通过C中的循环将输入存储到多个变量中? [重复]

问题描述 投票:0回答:1

我的作业代码要求用户输入5门不同课程的成绩,但是,该代码不能使用多于1条scanf语句来存储变量。

如何使用循环执行此代码所要做的相同的事情?

  int courseOne;
  int courseTwo;
  int courseThree;
  int courseFour;
  int courseFive;

  scanf ("%d", &courseOne);
  scanf ("%d", &courseTwo);
  scanf ("%d", &courseThree);
  scanf ("%d", &courseFour);
  scanf ("%d", &courseFive);

谢谢!

编辑:不允许使用数组。在年级标准中明确指出必须为该问题编写一个循环。

c scanf
1个回答
1
投票

scanf可以读取多个变量。

[与printf相似,第一个变量是格式,以下包含存储数据的位置。

因此,在您的示例中,您可以使用

 scanf ("%d %d %d %d %d" , &courseOne ,&courseTwo ,&courseThree ,&courseFour ,&courseFive);

请参阅manpage了解更多信息。


您在注释中指出禁止使用数组,并且使用了循环。这似乎与我不相容。

  • 或者您都想使用循环,因此数组是顺理成章的方法
  • 或者您想使用普通变量,因此不需要循环。

可能使用不带数组/指针的循环,但是代码确实很笨,所以您应该选择两种可能性中的一种。

也许您不能使用静态数组int foo[6],但可以使用基于指针的数组,例如int* foo = malloc(6*sizeof(int));。如果不允许,那么您的问题就没有多大意义...

© www.soinside.com 2019 - 2024. All rights reserved.