永发信息网

为什么要加==1若是=1有什么区别?

答案:6  悬赏:10  手机版
解决时间 2021-07-24 19:36
  • 提问者网友:缘字诀
  • 2021-07-24 11:43

void main()
{
int year;

if(scanf("%d",&year)==1)
{
if(year%4==0 && (year%100!=0 || year%400==0))
printf("%d is a leap year\n",year);
else
printf("%d is not a leap year\n",year);
}
else
printf("Error\n");
}*/
#include <stdio.h>

void main()
{
int year,bit=0;

while(bit=scanf("%d",&year),bit==1)
{
if(year%4==0 && (year%100!=0 || year%400==0))
printf("%d is a leap year\n",year);
else
printf("%d is not a leap year\n",year);
}
if(bit!=1)/*
printf("Error\n");
}


最佳答案
  • 五星知识达人网友:过活
  • 2021-07-24 13:20

scanf的返回值有后面的参数决定



scanf("%d%d", &a, &b);



如果a和b都被成功读入,那么scanf的返回值就是2



如果只有a被成功读入,返回值为1



如果a和b都未被成功读入,返回值为0


如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.


所以.bit=scanf("%d",&year) 就是用bit存储scanf的返回值.


因为只有一个参数year. 所以bit==1时才是正确输入. 如果bit不是1.而是其他数.就证明输入发生错误.


所以输出ERROR

全部回答
  • 1楼网友:走死在岁月里
  • 2021-07-24 18:40

=是赋值

==是判断两个值是否相等

  • 2楼网友:不甚了了
  • 2021-07-24 17:42
==1是判断前面的值是否为1,若是则为真,否则为假。=1则是把1的值赋给=前的表达式。一个是等号==,一个是赋值符号=
  • 3楼网友:老鼠爱大米
  • 2021-07-24 17:12

编程里的“==”是赋值,不能用“=”来表示。

  • 4楼网友:山河有幸埋战骨
  • 2021-07-24 15:38
"=="代表比较;"="代表赋值
  • 5楼网友:野慌
  • 2021-07-24 14:02

==1表示将变量与1比较

=1是将变量赋值为1

==1一般用在布尔表达式中

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯