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("不是闰年");
}
程序是怎么判断的啊??? 展开
{
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("不是闰年");
}
程序是怎么判断的啊??? 展开
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值放进去也是可以的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,你要明白一点,无论是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,则不是闰年。
所以,这里第一个要执行的是第一句: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,则不是闰年。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的p方法里面写了一个判断,如果传入的年份参数是个闰年,返回值true。否则返回值false;然后你定义了一个bool类型的w变量来接收你p方法的返回值,然后把w给了if条件判断,注意,if(条件)条件本身就是进行的一个true或false的判断,也就是说if(true)条件是成立的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不明白你想要问的什么
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;//函数返回假
}
}
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;//函数返回假
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询