我试图编写一个代码而不是使用goto,我写了这个。 当我运行此代码时:
int main()
{
int a;
printf ("1 or 2");
scanf ("%d", &a);
if (a == 1)
{
return card();
}
else
return computer();
}
int computer(void)
{
char c;
int f = 0 ;
do
{
printf ("choose y or n\n");
scanf ("%c", &c);
switch (c)
{
case 'y':
card();
break;
case 'n':
main();
break;
}
}
while(f<1);
return 0;
}
int card(void)
{
char d;
int e = 1;
do
{
printf ("chhose y or n2\n");
scanf ("%c", &d);
switch (d)
{
case 'y':
computer();
break;
case 'n':
main();
break;
}
}
while(e<2);
return 0;
}
它的出局就像:
1 or 2 2
choose y or n
choose y or n
第二次打印相同的东西。我试图改变while循环的不同样式或算法,但我找不到有用的解决方案。我真的很擅长编码所以我真的没有想法