读两行整数

时间:2018-04-12 06:15:07

标签: c scanf

通过使用this建议我读取了这样的输入:

10 11 12 13

但是当我想读两行输入时:

10 11 12 13
9 8 78 3 12 11 2

代码:

#include <stdio.h>
#include <stdlib.h>

int main() {
  int i=0, j=0, k=0, l=0;
  int arr[10000];
  int brr[10000];
  char temp, temp2;
  do {
      scanf("%d%c", &arr[i], &temp);
      i++;
  } while(temp != '\n');

  do {
      scanf("%d%c", &brr[j], &temp2);
      j++;
  } while(temp2 != '\n');

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

  for(l=0; l<j; l++) {
    printf("%d ", brr[l]);
  }

  return 0;
}

程序已冻结(example)。

来自OP的评论评论:

  • 第一行以换行符结尾
  • 第二行以EOF
  • 结束

如何将两行整数读入两个不同的数组?

1 个答案:

答案 0 :(得分:3)

代码假定第二个输入行后面有换行符 如果没有......无限。

scanf()无法成功读取两个部分时,您可以将循环条件扩展为停止。