为了账号安全,请及时绑定邮箱和手机立即绑定

请问如下C语言goto语句可以怎么替换?

请问如下C语言goto语句可以怎么替换?

元芳怎么了 2022-03-24 15:11:50
/* Note:Your choice is C IDE */#include "stdio.h"#include"process.h"#include <conio.h>#define MAX 100int a = 0, price[MAX];add(){int p = 0;printf("请输入价格:\n");do{p++;scanf("%d", &price[p - 1]);if(p>= MAX){printf("数据已满!");break;}}while(price[p - 1] >= 0);price[p - 1]= 0;return 0;}print(){int i = 0, j= 0;A:while(i<= MAX){if(price[i] == 0){printf("价格已输入完毕");break;}printf("%d,%d\n", price[i], price[i + 1]);i += 2;j++;if(j>= 10){j =0;printf("\n");gotoA;}}getch();system("cls");return 0;}FIND(){int m =price[0], n;for(n = 1; n< MAX; n++){if(price[n] > m) m =price[n];if(price[n] == 0) break;}printf("max=%d", m);return 0;}void main(){loop:printf("1、录入价格\n");printf("2、输出价格\n");printf("3、查询价格\n");printf("4、退出\n");scanf("%d", &a);switch(a){case 1:add();system("cls");gotoloop;case 2:print();system("cls");gotoloop;case 3:FIND();getch();system("cls");gotoloop;case 4:printf("谢谢使用该系统!\n");break;}}怎么才能把以上的goto语句替换而不使程序出错?请大神帮忙改改,感激不尽!
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

loop 改成while(4!=a){loop里面的东西}

查看完整回答
反对 回复 2022-03-28
?
撒科打诨

TA贡献1934条经验 获得超2个赞

void main()
{
int retry = 1;
while(retry){

printf("1、录入价格\n");
printf("2、输出价格\n");
printf("3、查询价格\n");
printf("4、退出\n");
scanf("%d", &a);
switch(a)
{
case 1:
add();
system("cls");
break;
case 2:
print();
system("cls");
break;
case 3:
FIND();
getch();
system("cls");
break;
case 4:
printf("谢谢使用该系统!\n");
retry = 0
break;
}
}
}



查看完整回答
反对 回复 2022-03-28
  • 2 回答
  • 0 关注
  • 259 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号