所以我被困在这里,不知道为什么这不起作用。
do{
char cf;
scanf(" %c",&cf);
}while(cf!='s' || cf!='S');
按S或s时,它不会结束循环。
答案 0 :(得分:1)
首先,这甚至不应该编译,因为cf
超出了检查条件的范围。
二。这将永远是真的,因为cf
永远是“不是或不是S”。
这就是你如何解决它:
char cf;
do{
scanf(" %c",&cf);
}while(cf!='s' && cf!='S');
注意:你也可以写这样的条件,这是上面的逻辑等价物:
while(!(cf=='s'||cf=='S'))
答案 1 :(得分:0)
你的状况是错误的。 它应该是:
while(cf!='s'&& cf!='S');