C++,我急 啊

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:37:32
#include <iostream.h>
void main()
{
int a(5),b(10),c(15),d(20);
if(a<b) if(b!=0) if(c<0) a=11;
else if(d) a=21;
else a=31;
else a=41;
cout<<a<<endl;
}
if(d)是什么意思?

0和非零值
非零为真则执行a=21;
否则继续向下执行判断
这道题的答案是输出21!
void main()
{
int a(5),b(10),c(15),d(20);
if(a<b)
{
if(b!=0)
{
if(c<0)
{
a=11;
}else
if(d)
{
a=21;
}
else
{
a=31;
}
}
else
{
a=41;
}
}
cout<<a<<endl;
}

就是判断d的真假
所有大于等于1的数都是真
只有0才是假
在这里d=20,所以是真

int到bool的转换,如果int不为0,为true,为0,为false

d
整数不为0,就是false
其它为true