首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个局部变量,再度被定义和赋初值

2012-08-14 
一个局部变量,再次被定义和赋初值#includestdio.hvoid main(){int a2for(a1a100a++){int a100pr

一个局部变量,再次被定义和赋初值
#include<stdio.h>
void main()
{
int a=2;
for(a=1;a<100;a++)
{
int a=100;
printf("%d\n",a);


}
}
输出的是99个100,这是为什么呢?
局部变量的作用域不是当前的函数吗,为什么不是加到101,就直接退出呢?

[解决办法]

C/C++ code
#include<stdio.h>void main(){int a=2;for(a=1;a<100;a++, printf("%x\n", &a))  // 打印循环体外的a的地址{int a=100;  // 这个a和循环外面的a(以及for语句中的a),根本不是同一个变量!printf("%x\n", &a)   // 打印循环体内的a的地址printf("%d\n",a);}} 

热点排行