-
沧海一幻觉
1.这样用goto语句很不好!2.错误的原因是为设置end标签.3.程序中有低级错误,比较数据是否相等要用"==","="是用于赋值.4.采用开关结合循环实现跳转程序如下:#include"stdio.h"int main(){int a,b,c,d,e,f,g,h,i,j,k;char ch='0';printf("现在即将开始进行测验!\n退出程序请输入1\n");printf("a=");scanf("%d",&a);if(a==1) exit(1);/*退出*/printf("现在开始测验啦!!!!!!\n");ch='b';while(ch!='0'){switch(ch){case 'b':{scanf("%d",&b);switch(b){case 1: { ch='c'; break; }case 2: { ch='d'; break; }default: { ch='e'; break; }}}case 'c':{printf("2.\n");scanf("%d",&c);switch(c){case 1: { ch='e'; break; }default: { ch='d'; break; }}break;}case 'd':{printf("3.\n");scanf("%d",&d);switch(d){case 1: { ch='e'; break; }case 2: { ch='f'; break; }default: { ch='g'; break; }}break;}case 'e':{printf("4.否\n");scanf("%d",&e);switch(e){case 1: { ch='f'; break; }default: { ch='g'; break; }}break;}case 'f':{printf("5.\n");scanf("%d",&f);switch(f){case 1: { ch='g'; break; }case 2: { ch='h'; break; }default: { ch='i'; break; }}break;}case 'g':{printf("6\n");scanf("%d",&g);switch(g){case 1: { ch='h'; break; }default: { ch='i'; break; }}break;}case 'h':{printf("72否\n");scanf("%d",&h);switch(h){case 1: { ch='i'; break; }default: { ch='j'; break; }}break;}case 'i':{printf("8谓");scanf("%d",&i);switch(i){case 1: { ch='j'; break; }case 2: { ch='k'; break; }default: { ch='D'; break; }}break;}case 'j':{printf("不是\n");scanf("%d",&j);switch(j){case 1: { ch='B'; break; }default: { ch='A'; break; }}break;}case 'k':{printf("是2否\n");scanf("%d",&k);switch(g){case 1: { ch='B'; break; }default: { ch='C'; break; }}break;}case 'A': printf("A");case 'B': printf("B");case 'C': printf("C");case 'D': printf("D");default: { printf("\n测试结束\n"); exit(0); }}}}
-
弑天下
先帮你把程序给改了。首先,你的end没有写,我补充了end: return ;其次,if语句中的判断符号==你写成了=。就这两个错误。其他没什么问题。然后强烈建议不要使用goto语句,goto语句能实现的功能用其他的语句都能实现的。使用goto语句只会让读程序的人(包括自己)头昏眼花的。#include"stdio.h"void main(){int a;int b;int c;int d;int e; int f;int g;int h;int i;int j;int k;printf("现在即将开始进行测验!\n退出程序请按1,继续请按任意键\n");scanf("%d",&a);if(a==1) goto end;else printf("现在开始测验啦!!!!!!\n");printf("\n");scanf("%d",&b);if(b==1) goto lp2;else {if(b==2) goto lp3;else goto lp4;}lp2: printf("2.\n");scanf("%d",&c);if(c==1) goto lp4;else goto lp3;lp3: printf("3.\n");scanf("%d",&d);if(d==1) goto lp4 ;else {if(d==2) goto lp5;else goto lp6;}lp4:printf("4.否\n");scanf("%d",&e);if(e==1) goto lp5;else goto lp6;lp5:printf("5.\n");scanf("%d",&f);if(f==1) goto lp6;else {if(f==2) goto lp7;else goto lp8;}lp6:printf("6\n");scanf("%d",&g);if(g==1) goto lp7;else goto lp8;lp7:printf("72否\n");scanf("%d",&h);if(h==1) goto lp9;else goto lp10;lp8:printf("8谓");scanf("%d",&i);if(i==1) goto lp9;else{if(i==2) goto lp10;else goto lp14;}lp9:printf("不是\n");scanf("%d",&j);if(j==1) goto lp12;else goto lp11;lp10: printf("是2否\n");scanf("%d",&k);if(k==1) goto lp12;else goto lp13;lp11:printf("A");lp12:printf("B");lp13:printf("C");lp14:printf("D");end: return ; //加的}
-
天涯尽头无女友
#include"stdio.h"main(){int a;int b;int c;int d;int e; int f;int g;int h;int i;int j;int k;printf("现在即将开始进行测验!\n退出程序请按1,继续请按任意键\n");scanf("%d",&a);if(a=1) goto end;else printf("现在开始测验啦!!!!!!\n");printf("\n");scanf("%d",&b);if(b=1) goto lp2;else {if(b=2) goto lp3;else goto lp4;}lp2: printf("2.\n");scanf("%d",&c);if(c=1) goto lp4;else goto lp3;lp3: printf("3.\n");scanf("%d",&d);if(d=1) goto lp4 ;else {if(d=2) goto lp5;else goto lp6;}lp4:printf("4.否\n");scanf("%d",&e);if(e=1) goto lp5;else goto lp6;lp5:printf("5.\n");scanf("%d",&f);if(f=1) goto lp6;else {if(f=2) goto lp7;else goto lp8;}lp6:printf("6\n");scanf("%d",&g);if(g=1) goto lp7;else goto lp8;lp7:printf("72否\n");scanf("%d",&h);if(h=1) goto lp9;else goto lp10;lp8:printf("8谓");scanf("%d",&i);if(i=1) goto lp9;else{if(i=2) goto lp10;else goto lp14;}lp9:printf("不是\n");scanf("%d",&j);if(j=1) goto lp12;else goto lp11;lp10: printf("是2否\n");scanf("%d",&k);if(k=1) goto lp12;else goto lp13;lp11:printf("A");lp12:printf("B");lp13:printf("C");lp14:printf("D");end:}end没定义。在末尾加一个end标签,的确goto语句不建议使用,请用另一种编程方式。