C# if else 是怎么判断 bool 返回值的?

staticvoidMain(string[]args){intyear=Convert.ToInt32(Console.ReadLine());boolw=q(year... static void Main(string[] args)
{
int year = Convert.ToInt32(Console.ReadLine());
bool w = q(year);
if (w )
{
Console.WriteLine("闰年");
}
else
{
Console.WriteLine("不是闰年");

}
Console.ReadKey ();

}

public static bool q(int year)
{
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
return true;
}
else
{
return false;
}
}
}
那个大神告诉我
if (w )
{
Console.WriteLine("闰年");
}
else
{
Console.WriteLine("不是闰年");
}
程序是怎么判断的啊???
展开
 我来答
zhouxiang_1216
推荐于2018-05-18 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1374万
展开全部
就是调用了public static bool q(int year)这个方法,在此方法中将你输入的年份除以400,如果没有余数,是整除,那么就此方法就返回一个bool值true,表示此年份是闰年;如果你输入的年份除以4的余数为0并且除以100的余数不为0,那么也返回一个bool值true,表示此年份是闰年;这两种情况以外的就返回一个bool值false,表示此年份不是闰年,就是一个数学运算而已。希望对你有帮助,有疑问请追问或是Hi
三月的前奏
2013-07-02 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:87.8万
展开全部
你w不是bool值嘛,在定义w的时候你已经用方法给w赋值了,也就是说定义w的时候同时调用方法,这个方法的返回值就是你w的值,if(w)意思是当w为true时
追问
返回值我懂
但不是应该 if (w ==true)
{
Console.WriteLine("闰年");
}
else
{
Console.WriteLine("不是闰年");
}
这么判断的吗?
为什么直接if (w)就可以?
追答
对bool的判断可以这样哦,你的写法也可以,因为if本身判断的就是bool值,像if(a==1)这种,当条件成立是是不是应该等同于true,所以直接把bool值放进去也是可以的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZHANGSONG哦
2013-07-02
知道答主
回答量:8
采纳率:0%
帮助的人:1.2万
展开全部
首先,你要明白一点,无论是Java还是C#,它们的执行都是从入口public static void Main(string[] args)开始的。
所以,这里第一个要执行的是第一句:int year = Convert.ToInt32(Console.ReadLine());意思是你输入的会转换成int型(整数型)的值。

第二步是继续往下走,到这一句:bool w = q(year);意思是布尔类型w的值以q方法里year所判断的返回值为准。

所以,执行将会直接跳到public static bool q(int year){}里进行判断,如果输入的年份year % 400 == 0 || year % 4 == 0 && year % 100 != 0,那么返回真,即bool w = true;否则bool = false;之后再回到if(w){}里来进行判断,如果w=true,那么就是闰年,如果w=false,则不是闰年。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b23c89c94
2013-07-02 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:100%
帮助的人:114万
展开全部
你的p方法里面写了一个判断,如果传入的年份参数是个闰年,返回值true。否则返回值false;然后你定义了一个bool类型的w变量来接收你p方法的返回值,然后把w给了if条件判断,注意,if(条件)条件本身就是进行的一个true或false的判断,也就是说if(true)条件是成立的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友22b0977
2013-07-02 · TA获得超过278个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:166万
展开全部
不明白你想要问的什么
public static bool q(int year)//传入年数
{
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)//年数对400求余为0 或 年数对4求余为0且年数对100求余不为0

{//如果年数符合上述判断条件
return true;//函数返回真
}
else
{//否则
return false;//函数返回假
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式