求助一道c++题目,有关变量作用域的!!

2025-04-29 16:57:24
推荐回答(5个)
回答1:

int main()
{
int i=1;
cout<<"i="< {
int i=2; //在这里定义局部变量i
cout<<"i="< {
i+=1; //这里已经把局部变量i变成3。注意这里你没有重新定义i,所以i的值已经变成了
cout<<"i="< }
cout<<"i="< }
cout<<"i="< return 0;
}
建议你不要都用i,这样你会晕的。换个名称就OK了!就能看明白了!!

回答2:

//程序中有三个作用域不同的i,分别用a,b,c表示,将程序改为下面,应该可以理解的。
;
int main()
{
int b=1;
cout<<"b="< {
int c=2;
cout<<"c="< {
c+=1;
cout<<"c="< }
cout<<"c="< }
cout<<"b="< return 0;
}

回答3:

#include
using namespace std;
int i=0; //记为1号i定义
int main()
{
int i=1; //2号
cout<<"i="< {
int i=2; //3号
cout<<"i="< {
i+=1;
cout<<"i="< }
cout<<"i="< }
cout<<"i="< return 0;
}

回答4:

第二个括弧里面对i 进行了第二次定义 是局部变量 第一个i 是全局变量 第二个i 影响的范围是 第二个括弧里面的 跟第一 i 没有关系 也就是说第二个 i 可以换成任意一个字母(a, b. c d e f g ..........)

回答5:

//程序中有三个作用域不同的i,分别用a,b,c表示,将程序改为下面,应该可以理解的。
#include
using namespace std;
int a=0;
int main()
{
int b=1;
cout<<"b="< {
int c=2;
cout<<"c="< {
c+=1;
cout<<"c="< }
cout<<"c="< }
cout<<"b="< return 0;
}