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
任何想法?
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
任何想法?
您應該使用數組來存儲值。 由於數據數量不同,可能需要進行分配,並且可以在讀取數據之前通過用戶輸入確定。
這裏是一個sampie實現:
#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;
}
你需要聲明一個數組 - 否則,你怎麼可以存儲,以將它們打印多個值.. – amdixon
@amdixon鏈表是一種替代方法,但它是這裏太複雜了。 – MikeCAT