【发布时间】:2017-05-29 15:10:08
【问题描述】:
下面是两个 C++ 代码:
#include <iostream>
using namespace std;
int a = 1;
int main()
{
int a = 2;
if(1)
{
a = 3;
cout << a << endl;
}
cout << a << endl;
}
输出是: 3 3
#include <iostream>
using namespace std;
int a = 1;
int main()
{
int a = 2;
if(1)
{
int a = 3;
cout << a << endl;
}
cout << a << endl;
}
输出为:3 2
这两个代码相似,只是第二个代码在“a=3”之前有“int”。那么,为什么“int”对输出有这样的影响呢?我是新手,非常感谢。
【问题讨论】:
-
因为范围规则?
int a = 3;声明了一个新变量,a = 3;引用了之前声明的那个 -
这不是问题,但您真的需要
std::endl需要的额外内容吗?'\n'结束一行。