c++ for 的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:05:46
int i = 100;
for( int i = 0; i < 2 ; i++);
cout << i << endl;
为什么i=100?

在VC下通不过编译,i重复定义.
应该是你的编译器认为第二个i是一个for循环内的局部变量,跳出循环后该变量不再存在。第一个i与第二个i没有任何关系。

for( int i = 0; i < 2 ; i++);
这句后面不用加分号

或者你可以这么写

for( int i = 0; i < 2 ; i++)
{
cout << i << endl;
}

打印出的i是0和1,不是100.你的for循环中的变量和外部变量名相同,外部变量被隐藏,所以显示的是0和1.

for( int i = 0; i < 2 ; i++);

你这个加了个";"分号

打印的是外部变量

去掉就是 0 1 了

for( int i = 0; i < 2 ; i++);
这一句后面的;的字体格式有问题,将其改为与前面一样的,另外i重复定义了,结果即为i=2,

而for语句里int i=0定义的i只在for语句块中有效。出了for语句,i就是第一句定义的i=100了。