我正在为我的嵌入式 C 课程做作业,但遇到了一个我似乎无法解决的问题。我的问题是它++i
只会改变一次。循环第一次运行i
将是0
,第二次i
是1
,但之后i
将始终1
与循环循环多少次无关。任何人都知道问题可能是什么?我放了printf("%d\n", i);
只是为了看看是否i
改变了。
void addCar() {
char choice = 'y';
int i = 0;
while((choice == 'y' || choice == 'Y') && i < MAX_CAR) {
printf("Make: ");
scanf("%s", fleet[i].make);
getDate(1, i);
getDate(2, i);
printf("Purchaseprice: ");
scanf("%lf", &fleet[i].purchasePrice);
++i;
printf("%d\n", i);
printf("Do you want to add another car? (Y/N)");
scanf("%s", &choice);
}
}