【问题标题】:for loop is iterating printf written after scanf only oncefor 循环仅迭代在 scanf 之后编写的 printf 一次
【发布时间】:2019-05-15 10:01:43
【问题描述】:

我想使用带有抽头空间的 for 循环来存储数组元素。但是选项卡只打印一次,然后它就不起作用了。 代码如下-

#include<stdio.h>
#include<conio.h>
void main()
{
  int i,a[10];
  clrscr();
  printf("Enter array elements: \n");
  for(i=0;i<5;i++)
  {
     scanf("%d",&a[i]);
     printf("\t");
  }
  getch();
}

上述代码的输出是- Output of above code in TurboC++

我也尝试过 CodeBlocks,但输出相同。 另一方面,当我使用此代码时-

#include<stdio.h>
int main()
{
  int i,a[5]={1,2,3,4,5};
  for(i=0;i<5;i++)
  {
     printf("%d",a[i]);
     printf("\t");
  }
  return 0;
}

输出如下- Compilor-CodeBlocks.

为什么代码的输出不同?

【问题讨论】:

  • 你为什么用turbo c?它已经过时了。
  • 提示:不要使用 Turbo C。这个工具比你还老。有很多替代方案,其中大多数(如果不是全部)都比 Turbo C 更好。请不要发布文字图片,而是发布文字。
  • 我主要使用代码块,但使用 tubo 来检查代码
  • 嘿 user3121023,那么在代码中添加 printf 语句有什么好处?
  • " 但使用 tubo 来检查代码" :那么为什么你不能在 Codeblocks 中“检查代码”(无论这应该是什么意思)??跨度>

标签: c for-loop printf scanf


【解决方案1】:

在第一个代码中,您在输入每个输入后按 Enter,因此您会在每个输入后看到新行。

在第二个代码中,您不是通过代码或手动打印换行符。

要打印新行,请附加\n,如下所示。

 printf("\t\n");

【讨论】:

  • 为什么我在每次输入后都没有标签空间?以及如何在上面的代码中不按回车输入输入
  • 一次输入所有数字,然后按回车键一次。
  • 输入时需要在每个数字之间留出空格。
  • @RohitKumarShrivastava 您只问为什么这两个输出不同,我相信 kiran 回答了这个问题。你真正想要什么样的输出,你的输入应该是什么样子?你能给我们举个例子吗?
  • @m.k 我想要两个代码的输出作为第二个代码的输出。
猜你喜欢
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 2020-07-13
  • 2020-06-30
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多