土沙拉 发表于 2018-1-31 09:34:50

一个关于变量的问题

#include<iostream>
using namespace std;
int sub( int, int );
int a = 1;
int main()
{
int m = 1, n = 2, f;
f = sub( m, n );
cout << a << '\t' << f << endl;
f = sub( m, n );
cout << a << '\t' << f << endl;
}
int sub( int c, int d )
{
static int m = 2, n = 5;
cout << m << '\t' << n << '\t' << endl;
a = ++ a; c = m ++; d = n ++;
return c + d;
}
为什么输出?:
        2                5
        2                7
        3                6
        3                9
a的值为什么会变?

BngThea 发表于 2018-1-31 09:43:28

a是你定义的全局变量,任何函数中修改了a的值,都会导致它的值发生变化
页: [1]
查看完整版本: 一个关于变量的问题