为什么我输入1900,却显示leap,明明应该执行第三个switch里的default 呀。
#include<stdio.h>
#include<stdlib.h>
void main()
{
int year,a,b,c;
scanf("%d",&year); //输入年份
a = year%4;
b = year%100;
c = year%400;
switch(a)
{case 0:switch(b) //若a为0,执行case 0:
{case 0:switch(c) //若b为0,执行case 0:
{case0:printf("leap\n");system("pause");return;//若c为0,打印"leap",程序执行完毕,退出
defalult:printf("nonleap\n");system("pause");return;//若c非0,打印"nonleap",完毕退出
}
default:printf("leap\n");system("pause");return;//若b不为0,打印leap,完毕退出
}
}printf("nonleap\n");//若a不为0,打印"nonleap"
system("pause");
}
而且这不是循环,用break代替return更合适一下。来自:求助得到的回答
switch(c)里面的default 打错了
你妹~~我苦想了半天追问
c=300,不符合条件,应该执行default:也就是输出nonleap,怎么会输出leap呢?
追答你的default 单词打错了!!!
。。。。