woainigui8888 发表于 2014-11-15 20:19:45

关于C语言if语句的问题,求大神解答!!!急

#include<stdio.h>
int main()
{
    int n=0;
        if(n>=1<=10)
                printf("n is betweem 1 and 10\n");

}
为什么n=0,if的条件还成立呢??
还有n>=1<=10;这个表达式合法吗?它是怎么计算结果的??
求大神帮我解答下!!本人有点小白!!

qq351317878 发表于 2014-11-15 20:44:07

合法吧,自右向左比较

woainigui8888 发表于 2014-11-15 21:10:21

qq351317878 发表于 2014-11-15 20:44
合法吧,自右向左比较

当n=0的时候呢

仰望天上的光 发表于 2014-11-15 21:14:28

n>=1<=10这个表达式是合法的
当 n=0的时候,n>=1为假也就是n>=1这个表达式的值为0所以
n>=1<=10就变为0<=10这个表达式为真,所以整个表达式的值为1
LZ想要写的表达式是n>=1 && n<=10

牡丹花下死做鬼 发表于 2014-11-15 21:21:13

n == 0
n>=1 不成立 就是0
你说 0<=10成不成立

牡丹花下死做鬼 发表于 2014-11-15 21:22:07

你得写
if(n >= 1 && n <= 10)

woainigui8888 发表于 2014-11-15 21:24:51

谢谢各位大神!!理解了:handshake

qq351317878 发表于 2014-11-16 09:07:22

你调试一下就知道了。自右向左
页: [1]
查看完整版本: 关于C语言if语句的问题,求大神解答!!!急