为了账号安全,请及时绑定邮箱和手机立即绑定

这个运行出来为什么还有除了1和0之外的数字?不是判断真假嘛

#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",  x>=y       ); //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;
}

 最后一个结果是10

正在回答

3 回答

z=x+y是赋值 所以是等于10 没毛病

1 回复 有任何疑惑可以回复我~
#1

沐风徵 提问者

就是说这个地方是给Z赋值然后输出的是Z?
2019-07-18 回复 有任何疑惑可以回复我~
#2

小小疾飞 回复 沐风徵 提问者

%d就是右边式子取整形嘛。比较运算符返回的结果只有0或1。= 号是赋值符号,返回的是z的整形值,当然是10啦。
2019-07-18 回复 有任何疑惑可以回复我~
#3

张太帅 回复 沐风徵 提问者

==才是等号,=是赋值
2019-07-23 回复 有任何疑惑可以回复我~
#4

易轩尘 回复 沐风徵 提问者

printf("z是否等于x+y:%d\n", z=x+y ); //z是否等于x+y 。这一行里面你输入的z=x+y意思是z的赋值是10,所以输出是10,应该写z==x+y,这个样子就是判断,最后输出是1,判断为真。少写了一个=号。
2019-10-20 回复 有任何疑惑可以回复我~
查看1条回复

最后一行哪里应该是z>x+y,这样输出结果就为0了

0 回复 有任何疑惑可以回复我~

"= " 是赋值

“==”才是取等

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个运行出来为什么还有除了1和0之外的数字?不是判断真假嘛

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信