gpt4 book ai didi

c - 在c中的while循环中给出2个输出

转载 作者:行者123 更新时间:2023-11-30 18:15:12 25 4
gpt4 key购买 nike

我试图编写一段代码来代替使用 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 循环以适应不同的样式或算法,但我找不到有用的解决方案。我对编码真的很陌生,所以我真的没有想法

最佳答案

我自己一直对%c有疑问。尝试执行以下操作

int computer(void)
{
char c[3];
int f = 0 ;
do
{
printf ("choose y or n\n");
scanf ("%s", c);

switch (c[0])
{
case 'y':
card();
break;
case 'n':
main();
break;
}

}while(f<1);

return 0;
}

希望这有帮助!!!

关于c - 在c中的while循环中给出2个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971620/

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