c语言中=和==的区别

新手,问两个菜鸟问题:1.某程序中有个循环句:while(scanf("%lf%d",&x,&exp)==2),其中x为double型,exp为int型,问:==2为什么... 新手,问两个菜鸟问题:

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”呢,这个应该是指是为真吧?

希望各位能耐心说说,谢谢!
展开
 我来答
黄邦勇帅哥哥
2010-04-07 · TA获得超过3987个赞
知道大有可为答主
回答量:1199
采纳率:100%
帮助的人:483万
展开全部
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好像没什么差别吧,只是中间多了一个空格。
ksayu128
推荐于2017-11-23 · TA获得超过170个赞
知道答主
回答量:272
采纳率:0%
帮助的人:0
展开全部
1、==2表示输入了两个值分别赋给两个变量,你若只输入一个值赋给变量,按回车,程序不会执行while语句。
2、!=是不等于的意思,!=1是不等于1的意思,!=是用中文输入法写的不等于,写程序的时候,最好别用中文输入法。意思是若没有输入一个值赋给变量code。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maplc
2010-04-07 · TA获得超过1514个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:343万
展开全部
==表示判断是否相等

=表示赋值

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

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

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

关于scanf函数
scanf返回值等于正确输入的变量的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
消摇色仙
2010-04-14
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
1. 答:==2 是恒等于2的意思,不是赋值,相当于数学里面的等于2的意思。
2. 答:“!=1“是非1的意思, 也就是假的意思。 在计算机里面1为真,0为假, 非真就是假了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东宁陶香
2020-01-04 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:1109万
展开全部
一个等于是同赋值,就是给值
而两个等于是逻辑判断是否等于

int
x
=
10,y
=
11;//赋值,就是给值
if(x
==
y);//判断x是否等于y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式