新手问一个关于scanf函数格式字符串得问题
#include <stdio.h>void main()
{
int a, b;
printf("input a year's number: ");
scanf("%d", &a);
b = a%4;
if (b=0)
{
printf("this is a leap year!\n");
}
else
{
printf("this is not a leap year!\n");
}
}
在这个程序中,如果输入2014.0结果会输出this is not a leap year
问题是输入的a数据应该是整型数据,为什么输入float型数据程序依然可以运行,而且输出得也是this is not a leap year? ifb=0 我认为,一切的根源都在那个if里面
为啥是b=0?不是b==0吗?
#include <stdio.h>
int main()
{
int a, b;
printf("input a year's number: ");
scanf("%d", &a);
b = a%4;
if (b==0)
{
printf("this is a leap year!\n");
}
else
{
printf("this is not a leap year!\n");
}
}
P.S:小数部分会自动截断,你输入2020.5,会直接变成2020.
页:
[1]