问答详情
源自:3-6 关系运算符

最后一个判断为什么不用在等号前加上感叹号呢?

#include <stdio.h>
int main()
{
    int x=5;
    int y=5;
    int z=10;
    printf("x是否大于y:%d\n", x>y            ); //x是否大于y
    printf("y是否大于等于x:%d\n", y>=x        ); //y是否大于等于x
    printf("y是否小于z:%d\n", y<z            ); //y是否小于z
    printf("z是否小于等于x:%d\n", z<=x         ); //z是否小于等于x
    printf("z是否等于x+y:%d\n", z==(x+y)            ); //z是否等于x+y
    return 0;
}

提问者:渣渣求蜕变 2016-03-19 14:41

个回答

  • 箫声断spiderfu
    2016-03-19 15:20:36
    已采纳

    因为你要判断的是z是否等于x+y,如果等于的话就会输出1,不得话就会输出0。

    如果有!,判断的是Z是否不等于x+y,因此得到的结果恰好相反。

  • waylon
    2016-03-19 15:52:01

    z是否等于x+y:%d\n", z==(x+y) //表示Z是否等于x+y,若等,则输出1,不等则输出0

    z是否等于x+y:%d\n", z!=(x+y) //表示Z是否不等于x+y,若不等,则输出1,等则输出0