C++ C+的执行流程是什么+;密码? #包括 INTA=5; 使用名称空间std; int fun() { a=17; 返回3; } int main() { a=a+fun(); cout
在解释表达式C++ C+的执行流程是什么+;密码? #包括 INTA=5; 使用名称空间std; int fun() { a=17; 返回3; } int main() { a=a+fun(); cout,c++,C++,在解释表达式a+fun()时,编译器可以选择在执行fun()之前获取a值invocation或之后的调用。因此,从a获取的值可以是5的初始值,也可以是13在fun()中分配的初始值,因此您可以得到5+3或17+3。它们中的每一个都是允许的。表达式子表达式的求值顺序是未指定的。特别是在a+fun()中,a的值是在调用fun()之前还是之后获取的(以及调用fun())更改a的值,它是一个全局变量)。您的编译器碰巧选择先调用fun()。有关详细信息,请参阅。 #include <iostream
a+fun()
时,编译器可以选择在执行fun()之前获取a
值
invocation或之后的调用。因此,从a
获取的值可以是5
的初始值,也可以是13
在fun()中分配的初始值
,因此您可以得到5+3
或17+3
。它们中的每一个都是允许的。表达式子表达式的求值顺序是未指定的。特别是在a+fun()
中,a
的值是在调用fun()
之前还是之后获取的(以及调用fun())
更改a
的值,它是一个全局变量)。您的编译器碰巧选择先调用fun()
。有关详细信息,请参阅。
#include <iostream>
int a=5;
using namespace std;
int fun()
{
a=17;
return 3;
}
int main()
{
a=a+fun();
cout<<a;
return 0;
}