#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int x = 0, y = 1, k = 5;
{
int x = 1;
x = 10;
cout << "x is " << x << ", y is " << y << endl;
}
cout << "x is " << x << " and k is " << k << endl;
cout << endl;
cout << endl;
{
int x = 5;
int y = 6;
{
int y = 7;
x = 2;
}
cout << "(x, y) is : (" << x << ", " << y << ")" << endl;
}
cin.get();
return 0;
}
的输出是:这有什么错我的C++变量(范围有关)?
x为10,y为1
x为0且k为5
(X,Y)为:(2,6)
我认为(x,y)应该是(5,6)。因为这是坐标x和y在
然后打印出来应该是x中的第二行是10而k是5 – James
@詹姆斯否,则必须'INT X = 1;''之前X = 10; '。 – molbdnilo
所以你的意思是X = 10这里只改变局部变量x,这是1。但X = 10不改变初始x = 0? – James