超简单哦,哪位大虾帮个忙

来源:百度知道 编辑:UC知道 时间:2024/06/19 18:09:31
1. 运行下例程序段的输出结果是
static int a=4,b=5,t;
if(a>b) t=a; a=b; b=t;
cout<<a<<”,”<<b<<endl;

2. 以下程序段输出的结果是
void main()
{int a=-1,b=4,k;
k=(++a<=0) && !(b--<=0);
cout<<k<<”,”<<a<<”,”<<b<<endl;
}

写出答案并附上注解,谢谢!

5,0
(a>b) 为假
所以t=a 略过,
a=b 所以a=5
t未赋值等于0 b=0
所以输出5,0
----------------------------
++a等于0 (++a<=0)为真
(b--<=0)为假 !后为真
真&真为真
k=1;
a=++(-1) =0
b=(4)--=3

1,0,3

static int a=4,b=5,t;//声明三个静态存储的变量
if(a>b) t=a; a=b; b=t;//由于a<b,所以不执行t=a,但是a=b;b=t是要执行的,所以执行之后,a=5,b值未知
cout<<a<<”,”<<b<<endl; //输出a,b的新值。

void main()
{int a=-1,b=4,k;
k=(++a<=0) && !(b--<=0);//由于!(b--<=0)和(++a<=0)为真,所以k=1
cout<<k<<”,”<<a<<”,”<<b<<endl;//++a之后,a=0,b--之后,b=3,所以输出1,0,3
}

static int a=4,b=5,t;//声明三个静态存储的变量
if(a>b) t=a; a=b; b=t;//由于a<b,所以不执行t=a,但是a=b;b=t是要执行的,所以执行之后,a=5,b值未知
cout<<a<<”,”<<b<<endl; //输出a,b的新值。
void main()
{int a=-1,b=4,k;
k=(++a<=0) && !(b--<=0);//由于!(b--<=0)和(++a<=0)为真,所以k=1
cout<<k<<”,”<