[讨论]计算机的“是非观”——逻辑运算的疑惑
谭浩强所编的课本中有如下描述:逻辑表达式的值应该是一个逻辑量“真”或“假”。C编译在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”, 但在判断一个量是否为“真”时,以0代表“假”,以非0的代表“真”。即将一个非零的数值认作为“真”。
对于最后一句话:即将一个非零的数值认作为“真”。在计算机世界里,“真”是什么?如:
while( a = 5 )
{
...
}
括号中的赋值表达式的结果是5,计算机认为它“真”,这个真是5还是1呢?