免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1730 | 回复: 9
打印 上一主题 下一主题

如何使局部变量生效!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-14 16:05 |只看该作者 |倒序浏览
环境:vc++ 6.0
如何使for语句的局部变量生效!
例如:
int i=-1;全局变量
for(int i=0;i<33;i++)
{
......
}
当我编译时出现错误,告诉我i变量需重新定义。
why???如何修改参数!

论坛徽章:
0
2 [报告]
发表于 2003-02-14 16:19 |只看该作者

如何使局部变量生效!!!

原帖由 "zhoujiu" 发表:
环境:vc++ 6.0
如何使for语句的局部变量生效!
例如:
int i=-1;全局变量
for(int i=0;i<33;i++)
{
......
}
当我编译时出现错误,告诉我i变量需重新定义。
why???如何修改参数!


我想你把for循环里的int i=0 换成 i=0就成了。

论坛徽章:
0
3 [报告]
发表于 2003-02-14 16:38 |只看该作者

如何使局部变量生效!!!

不行,会出现同样的错误,但可以将for语句由{}标记为块语句,这样就不会出现错误,但我想知道如何更改vc++6.0的参数,而不用标记块语句。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2003-02-14 17:14 |只看该作者

如何使局部变量生效!!!

[quote]原帖由 "zhoujiu"]变量需重新定义。[/quote 发表:

到底是“需”重新定义,还是“被”重新定义?

论坛徽章:
0
5 [报告]
发表于 2003-02-14 18:40 |只看该作者

如何使局部变量生效!!!

int i=-1;全局变量
for(int i=0;i<33;i++)
{
......
}

如果是在同一函数中的话
那么就不是全局变量
在函数中
不能定义与局部变量名一样的

论坛徽章:
0
6 [报告]
发表于 2003-02-15 09:26 |只看该作者

如何使局部变量生效!!!

#include<iostream.h>;
void main()
{
  const int num=10;
   int interval;
int a[num];
for(int i=0;i<num;i++)
a=i+1;
cout<<"pls input the interval";
cin>;>;interval;



for(int i=0;i<num;i++)
cout<<a<<",";
cout<<endl;


int k=1;
int i=-1;
{while(1)

for(int j=0;j<interval
{
i=(i+1)%num;
if(a!=0)
j++;
}
if(k==num)break;
cout<<a<<",";
a=0;
k++;
}
cout<<"\nNo."<<a<<"boy's won.\n";
}

: error C2374: 'i' : redefinition; multiple initialization
而改动后就没有错误:
#include<iostream.h>;
void main()
{
  const int num=10;
   int interval;
int a[num];
{for(int i=0;i<num;i++)
a=i+1;
cout<<"pls input the interval";
cin>;>;interval;}



{for(int i=0;i<num;i++)
cout<<a<<",";
cout<<endl;
}


int k=1;
int i=-1;
{while(1)

{for(int j=0;j<interval
{
i=(i+1)%num;
if(a!=0)
j++;
}
if(k==num)break;
cout<<a<<",";
a=0;
k++;
}}
cout<<"\nNo."<<a<<"boy's won.\n";
}

论坛徽章:
0
7 [报告]
发表于 2003-02-15 09:28 |只看该作者

如何使局部变量生效!!!

我说的重新定义不准确....error C2374: 'i' : redefinition; multiple initialization,但把for语句标记为块语句就可以了...如何改vc6.0的参数,使for语句的局部变量生效!!!

论坛徽章:
0
8 [报告]
发表于 2003-02-15 14:56 |只看该作者

如何使局部变量生效!!!

int main ()
{
    int i=-1;全局变量

{ //加上这个
    for(int i=0;i<33;i++)
     {
      ......
     }
  }//和这个
}

就可以了。

补充:
哎! 你已经知道了。

论坛徽章:
0
9 [报告]
发表于 2003-02-15 15:18 |只看该作者

如何使局部变量生效!!!

感谢楼上的朋友

论坛徽章:
0
10 [报告]
发表于 2003-03-19 09:39 |只看该作者

如何使局部变量生效!!!

原帖由 "zhoujiu" 发表:
t;"boy's won.\n";
}

这个i那里是全局变量呀?按C语言的默认规定,第一个碰到的为定义的变量自己要定义一下,所以对你后面重新定义int i;当然是重复了呀.加上{}表示那是一个块,那么第一i的作用域就局限在{}里面了.所以能过.你可以加{},也可以改第二的i前面的int.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP