gpt4 book ai didi

do..while 循环中的Continue 和break 语句错误

转载 作者:行者123 更新时间:2023-11-30 15:00:44 26 4
gpt4 key购买 nike

具体来说,我想介绍一下一开始就宣布的6个区的不同汽车。程序询问我汽车在哪个区,如果输入相同,我将继续输入汽车的详细信息,如果没有,我想返回区读取。我的问题是,当我正确读取第一个区时,程序工作正常并返回到区读取,但在第二个区时,程序不再工作。我将附上上面的代码。我需要提到的是,这是我第一次使用“继续”和“中断”语句,我认为这是主要问题。谢谢!

#include <stdio.h>
#include <string.h>

typedef struct record {
char name[15];
int year[4];
char serial[15];
char owner[24];
char plate[12];
};

int main() {
struct record rec[100];
char search[20];
int imax=0;
int i=0,j=0;
char n;
char* district[]= {"Rahova","Giulesti","Crangasi","Militari","Pantelimon","Ferentari"};
char district_input[20];


printf("\nEnter the cars: ");
do {
printf("\nCar's number %d -> Enter district: ",i+1);
scanf("%s",district_input);
for (;j<=5;j++) {
if(strcmp(district_input,district[j])==0){
printf("\t\t ->Name of the car: ");
scanf("%s",rec[i].name);
printf("\t\t ->Release year: ");
scanf("%d",rec[i].year);
printf("\t\t ->Serial number: ");
scanf("%s",rec[i].serial);
printf("\t\t ->Number plate: ");
scanf("%s",rec[i].plate);
printf("\t\t ->Last 3 owners: ");
scanf("%s",rec[i].owner);
printf("\nAdd more? [y/n]\t");
i++;
imax++;
break;
}
continue;
}
printf("\nAdd more? [y/n]\t");
} while ((n=getche()) != 'n');

}

最佳答案

breakcontinue 不做你认为他们做的事情。它们仅适用于写入它们的最内层循环。在本例中为 for 循环。它们与外部 while 循环无关。

例如

for (;j<=5;j++) {
...
continue
}

相同
for (;j<=5;j++) {
...
}

关于do..while 循环中的Continue 和break 语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com