艾滋女生朱力亚2017:问一个c++问题?

来源:百度文库 编辑:高考问答 时间:2024/04/27 16:23:09
#include<iostream>
#include<string>
using namespace std;
void main()
{
int m=10;
int n=4;

if (m<n)
++m;
++n;
cout<<"m="<<m<<"\n"<<"n="<<n<<endl;
}

运行结果是什么,为什么?

m=10
n=5
因为你的
if (m<n)
++m;
只能管到这里,条件不满足,++m不执行
++n肯定要操作

结果为:
m=10
n=5
因为你的++m是包含在if语句中的,由于表达式为假没有执行.
++n不是包含在if语句中,所以会执行++n.
可以理解成
if(m<n){++m;}
++n;

m=10
n=5
if下面的语句只能有一句,但可以是一个复合语句。这里只有++m是它所管理的,而++n是一定会执行的。

m=10
n=5