这是我的代码
int main()
{
char komut,komut2;
do{
scanf("%c",&komut);
switch(komut){
case 's':
case 'S':
kare();
case 'r':
case 'R':
dikdortgen();
case 't':
case 'T':
scanf("%c",&komut2);
if(komut2=='u' || komut2=='U')
ust_ucgen();
if(komut2=='d' || komut2=='D')
alt_ucgen();
}
}while(komut==!'e'||komut==!'E');
return 0;
}
问题是程序只为1个输入运行ı希望它运行直到给出e或E输入,我该如何解决呢?
最佳答案
这应该为您工作:
首先,您的case
语句必须以break;
结尾!
然后,还必须将==!
更改为!=
,并在do...while
循环中将条件从||
更改为&&
#include <stdio.h>
int main() {
char komut, komut2;
do{
scanf(" %c", &komut);
switch(komut){
case 's':
case 'S':
kare();
break;
case 'r':
case 'R':
dikdortgen();
break;
case 't':
case 'T':
scanf(" %c", &komut2);
if(komut2 == 'u' || komut2 == 'U')
ust_ucgen();
if(komut2 == 'd' || komut2 == 'D')
alt_ucgen();
break;
}
} while (komut != 'e' && komut != 'E');
return 0;
}
关于c - 为什么它不停留在循环中,在c中执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26705826/