我正在读取来自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