Peterlai 发表于 2014-8-30 15:15:14

不明白为什么会报错

本帖最后由 Peterlai 于 2014-8-30 15:23 编辑




   各位大大好
小弟近期刚学习C语言
用的是CODEBLOCKS13.12
练习课本的闰年题时编译器在这行一直这个错误:|10|error: lvalue required as left operand of assignment|
百思不得解
烦请各位先进帮忙解答
#include <stdio.h>/*闰年(leap year)计算*/
#include <stdlib.h>
#define MAX_YEAR 2100
#define MIN_YEAR 2014
int main()
{
   int yaer;
   for(yaer=MIN_YEAR;yaer<=MAX_YEAR;++yaer)
   {
       if((yaer % 4 ==0 && yaer % 100 != 0) || yaer % 400=0)    报错      
{
            printf(" %d 為闰年\n",year);
            }
       else
       {
          printf(" %d 非闰年\n",year);
       }

   }
    return 0;
}


李星 发表于 2014-8-30 15:37:53

你好哥子首先你的单词错了啊year 前面几个打错了啊!!(要注意啊)
再次是 for里的表达式1的作用是赋予初值不使用等号== 而是赋值=
然后在if中的逻辑或后者中要是判断的要用等号==不用赋值=
就ok了
#include <stdio.h>/*闰年(leap year)计算*/
#include <stdlib.h>
#define MAX_YEAR 2100
#define MIN_YEAR 2014
int main()
{
   int year;
   for(year = MIN_YEAR;year<=MAX_YEAR;++year)
   {
       if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)         
{
            printf(" %d 為闰年\n",year);
            }
       else
       {
          printf(" %d 非闰年\n",year);
       }

   }
    return 0;
}

Peterlai 发表于 2014-8-30 16:08:31

谢谢!!
后来发现自己少打一个=
下次会多注意些!!
页: [1]
查看完整版本: 不明白为什么会报错