野良神yls 发表于 2017-7-25 12:09:21

用switch求闰年时这样为什么不对啊?

#include <stdio.h>
void main()
{
        int a;
        scanf("%d",&a);
        switch( (a%4==0 && a%100!=0) || (a%400==0) )
        {       
        case 0:
                printf("不是闰年\n");break;
               
        case 1:
                printf("是闰年\n");break;
       }
               
}

老是提示有错误,但我看不懂....求帮忙
用if求闰年的我会,我就是想知道这个哪里错了,谢谢~

ba21 发表于 2017-7-25 12:16:29

用你的写法,switch()后面跟的是一个值
#include <stdio.h>
void main()
{
      int a,b;
      scanf("%d",&a);
      switch(b=(a%4==0 && a%100!=0)||(a%400==0))
      {      
      case 0:
                printf("不是闰年\n");break;
               
      case 1:
                printf("是闰年\n");break;
       }
               
}

野良神yls 发表于 2017-7-25 12:32:20

ba21 发表于 2017-7-25 12:16
用你的写法,switch()后面跟的是一个值

好吧,我又重新打了一遍,应该是哪个字符打成中文了吧 - -无语
谢了~
页: [1]
查看完整版本: 用switch求闰年时这样为什么不对啊?