Xiao_Mo 发表于 2021-10-11 08:38:18

!= <=等运算符的输出

本帖最后由 Xiao_Mo 于 2021-10-11 11:50 编辑

例题为:
#include<studio.h>
int main()
{
int a=5 b=3;
float x=3.14,y=6.5;
printf (“%d,%d\n”,a+b!=a-b,x<=(y-=6.1));
}

答案算出来是1,0
问题在于我不太明白这个1和0是怎么出来的
这是逻辑运算符特定的吗?
<=好像又是关系运算符(晕了)

jhq999 发表于 2021-10-11 08:46:26

本帖最后由 jhq999 于 2021-10-11 08:49 编辑

1=true;0=false
printf (“%d,%d\n”,(a+b!=a-b),(x<=(y-=6.1)));

村里小黑 发表于 2021-10-11 08:50:59

本帖最后由 村里小黑 于 2021-10-11 08:52 编辑

首先我觉得你先看一下printf函数的用法,你这样写应该会报错,少一个(,printf (“%d,%d\n”,(a+b!=a-b),x<=(y-=6.1));我猜你是这样写的,!=和<=都是关系运算符,在c中满足关系就是1.不满足就是0.,这里的1和0与逻辑运算符的定义不同,这里的1代表真,也就是运算关系成立

村里小黑 发表于 2021-10-11 08:55:11

村里小黑 发表于 2021-10-11 08:50
首先我觉得你先看一下printf函数的用法,你这样写应该会报错,少一个(,printf (“%d,%d\n”,(a+b!=a-b),x

而逻辑运算符的0和1代表的是把原来数据1或0进行操作,一般用于数据移位或者将数据进行分割

Xiao_Mo 发表于 2021-10-11 11:51:31

村里小黑 发表于 2021-10-11 08:50
首先我觉得你先看一下printf函数的用法,你这样写应该会报错,少一个(,printf (“%d,%d\n”,(a+b!=a-b),x

啊啊,提醒我才发现多打了个)哈哈哈哈哈,明白了明白了谢谢

Xiao_Mo 发表于 2021-10-11 11:55:09

jhq999 发表于 2021-10-11 08:46
1=true;0=false
printf (“%d,%d\n”,(a+b!=a-b),(x

谢谢谢谢,明白了
页: [1]
查看完整版本: != <=等运算符的输出