c语言中动态数组一次输入多个整数



我的输入包含一个整数序列,需要保存在一个动态数组中。整数的个数是序列的第一个整数。例如:3 23 7 -125 -777 3 56 14 7

序列为ONE输入。

我如何扫描这样的输入?

对于scanf("%i %i %i ...",),我需要提前知道整数的数量,而我不知道。

使用多个scanf调用。首先读取计数,然后在循环中读取值。

int count;
scanf("%i", &count);
int values[count];
for (int i=0; i<count; i++) {
scanf("%i", &values[i]);
}

请注意,这并不包括对无效值的错误检查。

可以通过do-while循环来实现:

int status = 0;
do {
status = scanf("%d", &placeToStoreVariablesAt);
} while(status);

注意,scanf()返回输入的正确类型的元素个数。如果输入字符,则status变为0,因此程序退出循环。

相关内容

最新更新