if(a>b) if(b>c)a=a+b; 这样两个if是什么意思?

#include <iostream>

using namespace std;

void main( )

{

int a=2,b=3,c=4;

if(a>b)

if(b>c)a=a+b;

else a=a+c;

cout<<a<<endl;

} 要求写出a的变化过程,,,,

第1个回答  2013-04-12
if(a>b)
if(b>c)
a=a+b;
else
a=a+c;
cout<<a<<endl;
因为a=2,b=3,c=4;所以第一个if(a>b)不成立,所以后面if和else都不执行(else始终连接离它最近的if),最后输出: 2
第2个回答  推荐于2016-03-24
可以将代码补充到最完整状态,即:
if(a>b)
{
if(b>c)
{
a=a+b;
}
}
即只有在a>b的情况下,才会执行判断句b>c,即只有满足a>b>c,a=a+b才会被执行!
第3个回答  推荐于2016-03-01
#include <iostream>
using namespace std;
void main( )
{
int a=2,b=3,c=4;
if(a>b) //若a>b成立,执行{}内的。否则执行cout<<a<<endl;输出a的值
{
if(b>c)//若b>c 成立执行a=a+b;否则执行 a=a+c;,最后才cout<<a<<endl;输出a的值
a=a+b;
else
a=a+c;
}
cout<<a<<endl;
}本回答被提问者采纳
第4个回答  2013-04-12
这个题目是:运行到if(a>b),false,程序跳到cout<<a<<endl;
如果a=5的话:程序运行到if(a>b),ture,程序往下走,if(b>c) a=a+b;false,程序继续下走,到else a=a+c; cout <<a<<endl;
我想当a=5,b=4,c=3;的时候,你知道了把
第5个回答  2013-04-12
a>b就执行if(b>c)a=a+b;
否则执行else的内容

b>c就执行a=a+b所以要执行这个就必须满足a>b,而且b>c