c语言中=和==的区别

新手,问两个菜鸟问题:

1.某程序中有个循环句:
while(scanf("%lf%d",&x,&exp)==2),其中x为double型,exp为int型,

问:==2为什么意思,赋值?为什么?

2.while((status=scanf("%d,&code"))!=1||(code<1||code>5)),其中, code,status都为int型

问:“!=1”为什么意思?为什么不是“!=1”呢,这个应该是指是为真吧?

希望各位能耐心说说,谢谢!

scanf("%lf%d",&x,&exp)这是一个函数,而且这个函数会反回值,好像反回值的规则是,只输入一个数反回1,输入2个数反回2。因此scanf("%lf%d",&x,&exp)==2就是判断是否输入了2个数,==的作用是判断是否相等,比如a==b的作用是判断a是否等于b,同样a==2是判断a是否等于2,而a=2是对变量a赋值为2。对于==的结果是1或者0,也就是布尔值的真或者假。
第2问,
(status=scanf("%d,&code"))!=1
表达式是这样的,就是判断scanf的反回值是否为1,如果为1,则表达式的值为真,在C中用1表示,如果为假则为假,在C中用0表示。然后再与后面的||运算。至于你说的! =1好像没什么差别吧,只是中间多了一个空格。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-23
1、==2表示输入了两个值分别赋给两个变量,你若只输入一个值赋给变量,按回车,程序不会执行while语句。
2、!=是不等于的意思,!=1是不等于1的意思,!=是用中文输入法写的不等于,写程序的时候,最好别用中文输入法。意思是若没有输入一个值赋给变量code。本回答被提问者采纳
第2个回答  2010-04-07
==表示判断是否相等

=表示赋值

!=表示判断是否不不相等

1里==2意思是scanf函数的返回值是不是跟2相等

2里!=意思是括号里的内容也就是变量status的值是否跟1不等

关于scanf函数
scanf返回值等于正确输入的变量的个数
第3个回答  2010-04-14
1. 答:==2 是恒等于2的意思,不是赋值,相当于数学里面的等于2的意思。
2. 答:“!=1“是非1的意思, 也就是假的意思。 在计算机里面1为真,0为假, 非真就是假了
第4个回答  2020-01-04
一个等于是同赋值,就是给值
而两个等于是逻辑判断是否等于

int
x
=
10,y
=
11;//赋值,就是给值
if(x
==
y);//判断x是否等于y
相似回答