我有下面的代码来选择正弦或余弦加以整合,C,而环路逻辑(Y!=(1 || 0))
while(x !=1 || y !=(1||0)){
printf("Sin (1) or Cos (0)?\n");
x = scanf("%d",&y);
_flushall();
if(y==1){
printf("Sin set\n");
}
else if(y==0){
printf("Cos set\n");
}
}
然而
y!= (1||0)
从未评估对于y == 0为true,有人可以解释这里有什么问题吗?谢谢。
这一定是真实的,或者你能只能保证(0 || 1)ISN” t 0(这仍然会给OP带来相同的行为)? – 2012-04-27 15:33:17
请参阅:http://stackoverflow.com/questions/7687403/is-the-true-result-of-or-defined/7687444#7687444 – Mat 2012-04-27 15:34:21
@ScottHunter:'||'和'&&'将评估为1为真,0表示错误。 – 2012-04-27 15:55:12