цикл for выполняет итерацию printf, записанную после scanf только один раз - PullRequest
0 голосов
/ 15 мая 2019

Я хочу сохранить элементы массива, используя цикл 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();
}

Вывод вышеуказанного кода - Вывод вышеуказанного кода в 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.

Почему выход отличается для кодов?

1 Ответ

2 голосов
/ 15 мая 2019

В первом коде вы нажимаете ввод после ввода каждого ввода, поэтому вы видите новую строку после каждого ввода.

Во втором коде вы не печатаете новую строку ни через код, ни вручную.

Для печати новой строки добавьте \n, как показано ниже.

 printf("\t\n");
...