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
任何想法?
答案 0 :(得分:2)
您应该使用数组来存储值。 您必须进行dinamically分配,因为数据的数量会有所不同,并且可以在读取数据之前通过用户输入来确定。
这是一个样本实现:
#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;
}