超级甲鱼粉 发表于 2019-11-6 14:45:46

c语言小新求助

想打一个能判断是不是闰年的程序但是输入年份以后按回车并没有出结果,求帮助,蟹蟹。
#include<stdio.h>

void main()

{
        int year, a;
        printf(" please input a year:\n");
        scanf("%d", year);
        a = year%400;
        if( a== 0)
        {
                printf(" yes it is\n");
        }
        else
        {
                printf(" no it is not\n");
        }
}
而且如果改成这样就会有一个错误不知道为什么
#include<stdio.h>

void main()

{
        int year, a;
        printf(" please input a year:\n");
        scanf("%d", year);
        a = year%400;
        if( a!== 0)
        {
                printf(" no it is not \n");
        }
        else
        {
                printf(" yes it is \n");
        }
}

18084041536 发表于 2019-11-6 14:55:48

少了一个取地址符 &:scanf("%d", &year);
不等于正确表达式:!=
不是   !==

jackz007 发表于 2019-11-6 15:04:07

本帖最后由 jackz007 于 2019-11-6 15:05 编辑

    楼主,给你一个正确的样本做参考,自己对照找出代码的问题吧
#include<stdio.h>

void main()
{
      int year                                                                        ;
      printf(" please input a year:\n")                                                 ;
      scanf("%d", & year)                                                               ;
      if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) printf(" yes it is \n") ;
      else printf(" no it is not \n")                                                   ;
}

bin554385863 发表于 2019-11-6 15:17:05

本帖最后由 bin554385863 于 2019-11-6 15:25 编辑

{:10_266:}
!=不等号

秃子舰长 发表于 2019-11-6 20:30:57

scanf函数输入对变量进行赋值时,要使用变量的地址,所以你应该再year前面加上&取址符号,
不等于的表达式为!=,而不是!==
页: [1]
查看完整版本: c语言小新求助