当我有 N 个输入量时,如何退出 while 循环?

How do I escape while loop when I have N amount of inputs?


using namespace std;

int main() {
    int input;
    
    int i=0;
    while (1){
        scanf("%d", &input);
        printf("%d input:%d\n", i, input);
        i++;
    }
}

标准输入: 10 65 100 30 95 . . .

有没有办法在点击最后一个输入后停止代码并退出 while 循环? 输入的数量可以是 N.

edition) 有没有办法计算 Stdin 输入的数量?这是我的主要问题。

using namespace std;

int main() {
    int input;
    
    int i=0;
    while (1){
        scanf("%d", &input);
        printf("%d input:%d\n", i, input);
        i++;
        if (i >= 5) break; //change 5 to your desired amount of inputs
    }
}

也许您正在读取具有 EOF(文件结尾)的输入? 在这种情况下,您应该在收到 EOF

时停止
#include <stdio.h>
#include <ctype.h>

int main(void)
{
  int input;
  int i = 0;
  while (scanf("%d", &input) != EOF){
    printf("%d input:%d\n", i, input);
    i++;
  }
  printf("End\n");
  return 0;
}

否则你可以做一个先读取N次然后迭代N次的程序

int main(void)
{
  int input;
  int i = 0;
  int n = 0;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &input);
    printf("%d input:%d\n", i, input);
  }
  return 0;
}