【发布时间】:2020-10-04 19:40:44
【问题描述】:
int number = 0;
while (scanf("%d",&number)){
if (sayi == 1 || sayi == 2){
printf("Login succesful ");
break;
}
}
没有break怎么写这段代码?
【问题讨论】:
-
break有什么问题让你不想用了? -
scanf系列函数将在出错时返回EOF。EOF定义为负值(通常为-1),在条件中使用时将隐式转换为“true”。因此,如果出现错误或用户按下文件结尾键盘组合,您将陷入无限循环。将返回值与1进行显式比较。如scanf(...) == 1。 -
@Burakkepuc,这没有回答我的问题,继续/中断没有任何问题
-
您可以使用
gotos。您可以(ab-)使用&&和||运算符或三元运算符并将printf放入条件中。为什么要使用它? -
为什么在循环中需要
if?sayi真的在循环内被改变了吗?如果不只是将它放在循环之外,然后将while放在else案例的主体中。还是if条件应该检查number?
标签: c if-statement while-loop scanf