我正在讀取來自stdin
的輸入,例如,汽車的名稱,汽車的類型。C將輸入讀入循環中的字符數組中
我面臨的問題是,如果我輸入車輛數量2,並且我輸入 循環,則第二個值將通過scanf
覆蓋爲第一個值。
輸入汽車的數量:2
輸入列的名稱:雪佛蘭
可用的汽車類型可以是電,氣 - 輸入汽車的類型:氣體
輸入列的名稱:chevy2
可用的汽車類型可以是電,氣 - 輸入汽車的類型:電動
現在如果我打印所有我看到的是電
#include <stdio.h>
int main(int argc, char *argv[])
{
setbuf(stdout, NULL);
int carNum;
int i;
char carName[50];
char carType[200];
printf("\nEnter number of cars:");
scanf("%d",&carNum);
for(i=0;i<carNum;i++)
{
printf("\nEnter name of car :");
scanf("%s", &carName[i]);
printf("\nType of car available can be electric,gas - Enter type of car %d: ");
scanf("%s", &carType[i]);
}
for(i=0;i<carNum;i++)
{
printf("\nName of car %d: ",i+1);
printf("\n%s", &carName[i]);
printf("\nType of car %d: ",i+1);
printf("\n%c", &carType[i]);
}
return 0;
}
不會更新的問題。 –
無法正常工作,您正嘗試像這樣寫入char **。 – stdcall
好的,對不起,我改成原來的。 – jamesT