C语言中的运算符%的两个操作数必须为整形,不能为浮点型或其他结构体类型,否则编译器会提示错误
#include<stdio.h>
void main()
{
double b;
int a, c, h, e=1, f=1, g=1, d;
printf("请输入年份\n");
scanf_s("%d",&a);
if (a % 4 == 0 && a % 100 != 0)
{
b = 1;
}
else if (a % 400 == 0)
{
b = 1;
}
else b = 0;
printf("请输入月份\n");
scanf_s("%d",&c);
if (c==1)
{
e = 0;
f = 0;
g = 0; }
else if (c == 2)
{
e = 1;
f = 0;
g = 0;
}
else if (c == 3)
{ e = 1;
f = 0;
g = 1; }
else if (c == 4)
{e = 2;
f = 0;
g = 1; }
else if (c == 5)
{e = 2;
f = 1;
g = 1; }
else if (c == 6)
{ e = 3;
f = 1;
g = 1; }
else if (c == 7)
{e = 3;
f = 2;
g = 1; }
else if (c == 8)
{e = 4;
f = 2;
g = 1; }
else if (c == 9)
{e = 5;
f = 2;
g = 1;}
else if (c == 10)
{e = 5;
f = 3;
g = 1; }
else if (c == 11)
{e = 6;
f = 3;
g = 1; }
else if (c == 12)
{e = 6;
f = 4;
g = 1;}
printf("请输入今天几号\n");
scanf_s("%d", &h);
if (b == 1)
d = 29;
else if (b == 0)
d = 28;
printf("%d", e * 31 + f * 30 + g * d + h);
}
不知道为什么如果用switch来控制e,g,j的话会不能用,而且它们的值会保持一开始那样,为什么???如果真的有人看的话请私聊我,请你给我解除疑惑,谢谢。
(后该)
我知道为什么了
特喵的:
case(12):
case’12’:
这这两个千万不能搞混,第二个是错的kao。
我真是逗比???