c - 如何在循环中读取多个输入

标签 c loops

printf("number to input: \n");
scanf("%d",&y);

for(x=0;x<y;x++){
    scanf("%d",&num);
}

printf("Numbers entered: %d \n",num);

假设我们输入了值 4 。 scanf 将循环 4 次并为每个循环输入一个值 1,2,3,4

最终输出应该显示1 2 3 4

有什么想法吗?

最佳答案

您应该使用数组来存储值。 您将不得不进行动态分配,因为数据的数量会发生变化,并且可以在读取数据之前由用户输入来确定。

这是一个示例实现:

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

int main(void) {
    int x,y=-1;
    int *num;
    printf("number to input: \n");
    scanf("%d",&y);
    if(y<0)return 1;
    num = malloc(sizeof(int)*y);
    if(num==NULL)return 1;

    for(x=0;x<y;x++){
        scanf("%d",&num[x]);
    }

    printf("Numbers entered: ");
    for(x=0;x<y;x++){
        printf("%d ",num[x]);
    }
    printf("\n");
    free(num);
    return 0;
}

关于c - 如何在循环中读取多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458716/

相关文章:

javascript - 如何在完成具有 axios 调用的 for/forEach 循环执行后调用语句?

image - 如何在命令提示符中创建 'for' 循环?

c# - 在循环中捕获异步错误

c++ - C/C++ 声明和定义的变量变为不可见

android - 使用 Android 的 AudioTrack

c++ - 以特定值评估多项式的​​最快方法

c - 每当打印 CURL_WRITEFUNCTION 中的 ptr 时都会输出奇怪的字符。

c - 如何从c中的文件中读取日期

c++ - 从静态库中删除所有符号是否会阻止链接?

C 程序对输入值进行向下舍入