初学C++,关于块变量的作用范围问题。

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:59:17
# include<iostream.h>
void main(void)
{
long sum=0;
int n=100;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
sum=sum+i+j;
}
}
cout<<sum<<endl;
}
帮我看下那个i,j作用的范围分别是哪里面到哪里面,我昨天刚学C++,不怎么会,大家帮帮忙。

i在第一个for 的大括号结束,j在第二个for 的括号之间。。。就是在循环里面 的。。

从for的{开始,到}结束.

for(int i=0;i<n;i++)
{//开始
for(int j=0;j<n;j++)
{//第二个for的
sum=sum+i+j;
}//第二个for的
}//结束
cout<<sum<<endl;

按照规标准范变量i和j的作用域仅限各自所在的for循环体内。
但是VC6并没有这么实现,在离开循环体后还能继续使用。
另外你代码中第一行和第二行都是被摒弃的写法,应改为:
#include <iostream> //它和iostream.h完全是两个不同的东西!
using namespace std;
int main() // 最新的规范对main函数的形式有了更严格的要求!
...

i的作用范围在6行到12行之间
j的作用范围在8行到11行之间

也就是他们所在的for语句的大括号的块里