vc6.0 for循环 循环变量

heguo2chao3 2010-11-28 05:05:02
for(int m = 0 ; m < 2 ;m++)
for (int n = 0 ; n< 3 ;n++)
{

}

for( m = 0 ;m < 3 ; m++)
for( int n = 0 ; n < 3 ;n++)
{
}

m ,n一定要这样写才是对的……其他情况却错了 为什么
特别是第二个 int m 会redefine, 而 第二个 int n 却不会。
不理解。
...全文
429 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
zongzihe 2010-11-29
  • 打赏
  • 举报
回复

编译器的原因
sc_valentine21 2010-11-29
  • 打赏
  • 举报
回复
有更好用的2005,就不要用vc6啦,调试都不方便啦。以前是没条件,现在是有条件了,有条件要利用啊。
至于这个问题,知道就行了。
mudunke775 2010-11-29
  • 打赏
  • 举报
回复
不必深研究,VC2003以上的版本都改正了这个错误,VC6确实是3搂说的FOR循环的变量作用域有BUG,VC2003以上的都已经改为作用域到FOR循环结束
chlgjzx 2010-11-29
  • 打赏
  • 举报
回复
VC6对标准支持不全面
ronghuaqiu 2010-11-29
  • 打赏
  • 举报
回复
额。。。其实知道就好,不必深究
heguo2chao3 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pxiap 的回复:]

这与变量的作用域有关。
for(int m = 0 ; m < 2 ;m++)
for (int n = 0 ; n< 3 ;n++)
{
}
相当于
int m = 0;
while(m < 2)
{
int n=0;
while(n< 3)
{
....
n++;
}
m++;
}
m从……
[/Quote]

感觉大虾说得说得很对! 只是不能确信,编译器是否真的把 for 循环 拆成了 while循环?能否告知小弟你做出判断的来源?
kingbigeast 2010-11-29
  • 打赏
  • 举报
回复
是三楼说的变量作用域的问题。
在循环体里定义变量是C99新支持的(但是VC6.0貌似是98年发布的),要求for语句中定义的变量仅在for里面有效。比较新的编译器都支持。
VC6.0显然把外层for语句中定义的变量当做main()里的全局变量了所以会提示重定义错误。而内层for定义的变量,作用域仅在外层for中,所以重复定义不会出问题。
jikeyuan1 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mstlq 的回复:]

这是vc6里面的bug……
不必深究……

标准的编译器是,第二个必须写int m,否则报未定义
[/Quote]

强 学习啦
memorysolid 2010-11-29
  • 打赏
  • 举报
回复
我以前也遇到此问题,并且以前用vc6.0写的程序,移到2008下就出现很多问题
Metrosexual 2010-11-29
  • 打赏
  • 举报
回复
换08吧
youzhengdu 2010-11-29
  • 打赏
  • 举报
回复
这是vc 的原因 你可以用dvec++ 这个很好用 也简单
antion692980794 2010-11-29
  • 打赏
  • 举报
回复
换2008吧
iambic 2010-11-28
  • 打赏
  • 举报
回复
VC6 is out.
herolijiang311 2010-11-28
  • 打赏
  • 举报
回复
3楼到位~
liu163169 2010-11-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pxiap 的回复:]
这与变量的作用域有关。
for(int m = 0 ; m < 2 ;m++)
for (int n = 0 ; n< 3 ;n++)
{
}
相当于
int m = 0;
while(m < 2)
{
int n=0;
while(n< 3)
{
....
n++;
}
m++;
}
m从定义起到整个函数结束都有效;而n只在{
int n=0;
while(……
[/Quote]
o了
独酌逸醉 2010-11-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 superyang198608 的回复:]

LZ这确实是你的编译器的bug。
[/Quote]
这不是LZ编译器的bug,这是VC++6.0自身对标准的支持的问题!
kiss_rule 2010-11-28
  • 打赏
  • 举报
回复
vc6.0 太老了!
PxiaP 2010-11-28
  • 打赏
  • 举报
回复
这与变量的作用域有关。
for(int m = 0 ; m < 2 ;m++)
for (int n = 0 ; n< 3 ;n++)
{
}
相当于
int m = 0;
while(m < 2)
{
int n=0;
while(n< 3)
{
....
n++;
}
m++;
}
m从定义起到整个函数结束都有效;而n只在{
int n=0;
while(n< 3)
{
....
n++;
}
m++;
}这个大括号里有效,因此第二个嵌套循环不要定义m但要定义n
superyang198608 2010-11-28
  • 打赏
  • 举报
回复
LZ这确实是你的编译器的bug。
mstlq 2010-11-28
  • 打赏
  • 举报
回复
这是vc6里面的bug……
不必深究……

标准的编译器是,第二个必须写int m,否则报未定义
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。 Grid++Report6.0版主要新增功能 ★引擎方面 1、增加了一个自由表格部件,可以灵活定义各种自由表格,具有单元格合并功能。 2、部件框增加边距设置,边框增加内层与阴影,虚线边框。 3、文字显示增加段间距、首字缩进与两端分散对齐。 4、分组报表可以按某个统计值的大小对分组项进行排序 5、数据源除了OLE DB外,增加XML、JSON与普通文本数据。 6、在编程接口中增加了很多应用函数,如数据压缩、数字格式化、日期时间解析与格式化、打印机与纸型枚举、文件选择对话框等。 7、其它杂项功能,根据多年收集的用户需求来增加与改进功能,如分组相关系统变量、图像旋转显示等。 ★设计器: 1、设计面板具有缩放设计功能。 2、将关联属性归类为组,方便在设计时集中设置与查看。 3、对象浏览窗口与属性窗口可以隐藏,方便在设计很宽的报表时增大设计面板的区域。 4、设计面板大小跟随明细网格总列宽来改变宽度,方便设计大宽度明细网格报表。 5、部件框锁定功能,被锁定的部件框不允许进行可视化拖放。 6、自动在分组头尾中增加统计框,默认为合计函数,并设置相应的对齐列。 7、数据源连接串可以为 XML 或 JSON 数据源,且可以自动生成字段。设计报表时数据源可连接的类型有:各种数据库、XML或JSON文件、产生XML或JSON的网络URL、EXCEL文件、TEXT文件。 8、设计器增加数据提供事件接口,在设计报表时可以用给报表加载自定义数据源。 ★打印与打印预览: 1、横向分页时,在数据不多的情况下,分页直接显示在本页,而不是在下一页。 2、在模板中可以保存默认打印机名称。 3、分组尾支持每页重复打印。 4、如果部件框跨页多次显示了,在新页中再次输出其上下边框。 5、提供编程接口枚举出Windows系统中安装的打印机,以及指定打印机支持的所有纸张类型。 ★查询显示: 1、没有明细网格的报表,背景图可以显示出来。 2、明细数据不多时,表格不会显示下部空白。 ★数据导出: 1、在导出Excel时,能用代码设置页边距等参数 2、在运行时对外观属性的改变可以反映到Excel导出。 ★图表: 1、重新设计图表接口,让图表可视化设计与编程控制更清晰简单。 2、支持更多图表类型,如百分比柱状图、垂直排列的柱图。 3、一个图表中可以混和显示多种不同类型的图形,如一个序列为柱图,另一个序列为曲线图。 4、Y轴可以显示双坐标轴,方便实现双轴柱状图等。 5、图例可以在下方显示,可以多栏显示。 6、增加图表数据记录集,图表数据直接从记录集或XML数据源加载,而不需用代码来加载图表数据。 7、图表方面还有很多细节方面的改进与增强,加强图表功能是本新版本的重要方面。 ★交叉表 1、多数据列交叉表可以将同一列产生的交叉列排列在一起。 2、在合计列中可以排除掉一些列不进行合计。 3、纵向交叉项目列中可以定义统计框或综合文字框表达式,在合计列中关联的字段自动求和,在项目列中关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。
《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。《C程序设计语言》(第2版新版)原著即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。 内容提要 -------------------------------------------------------------------------------- 《C程序设计语言》(第2版新版)是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。 目录    出版者的话    专家指导委员会    中文版序    译者序    校译者简介    序    第1版序    引言    第1章 导言    1.1 入门    1.2 变量与算术表态式    1.3 for语句    1.4 符号常量    1.5 字符输入/输出    1.6 数组    1.7 函数    1.8 参数——传值调用    1.9 字符数组    1.10 外部变量与作用域    第2章 类型、运算符与表达式    2.1 变量名    2.2 数据类型及长度    2.3 常量    2.4 声明    2.5 算术运算符    2.6 关系运算符与逻辑运算符    2.7 类型转换    2.8 自增运算符与自减运算符    2.9 按位运算符    2.10 赋值运算符与表达式    2.11 条件表达式    2.12 运算符优先级与求值次序    第3章 控制流    3.1 语句与程序块    3.2 if-else语句    3.3 else-if语句    3.4 switch语句    3.5 whil循环与for特环    3.6 do-while循环    3.7 break语句与continue语句    3.8 goto语句与标号    第4章 涵数与程序结构    第5章 指针与数组    第6章 结构    第7章 输入与输出    第8章 UNIX系统接口    附录A 参考手册    附录B 标准库    附录C 变更小结    索引 作者介绍 -------------------------------------------------------------------------------- Brian W.Kernighan贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,如《The C Proguamming Language》、《The Elementsof Programming Style》等。 推荐资源 C# 编程实例与技巧 C 程序开发经典实例之一.doc windows程序设计第五版(中文版) 贪吃蛇 游戏 C++ C# 程序开发范例宝典(第二版) 源代码 20~21 C、C++面试题大全 Java程序员就业面试大全 程序员面霸手册(笔试面试的葵花宝典) visual c++6.0应用编程150例源代码 经典的经典C#经典面试题 作者其他资源编程大讲坛:C语言核心开发技术从入门到精通(光盘代码) C语言库函数功能查询器(绿色版) 共有评论81条 hua5040发表的评论 学习,收藏。。。 时间:2010-10-22 18:09:48 来自:58.60.231.* chenshanmeizhu发表的评论 bucuo hen nanzhao 时间:2010-10-18 11:04:36 来自:116.228.2.* llf_17发表的评论 很好的书,经典 时间:2010-10-17 19:21:45 来自:221.12.174.* jujyter发表的评论 绝对的c中经典 时间:2010-10-17 16:36:25 来自:115.25.169.* z_free发表的评论 学习 学习 看看 时间:2010-10-17 10:11:32 来自:221.212.116.*共81个 下一页 发表评论现在有81人对本文发表评论 热门Tag JAVA C++ linux C# 教程 C语言 android 源码 PDF 编程 sql c Windows matlab ORACLE 源代码 api 中文 数据库 arm JavaScript 破解 数据结构 vc visual jQuery 计算机 答案 单片机 php JSP mfc .NET 中文版 VB 本周热点资源 C、C++面试题大全 嵌入式Linux系统开发技术详解--基于ARM(完整版) 程序员面霸手册(笔试面试的葵花宝典) visual c++6.0应用编程150例源代码 Dom文档对象模型-2010版 linux的内核及其内核源码分析1 嵌入式系统的C程序设计 Java程序员就业面试大全 经典的经典C#经典面试题 C、C++ 网络通讯笔试题大全 linux的内核及其内核源码分析2 嵌入式系统的内核引导启动过程浅析 linux的内核及其内核源码分析U-Boot PoorSakura vol.4 中文补丁(雯雅婷4 汉化补丁) 嵌入式系统构件基于arm sqlserver2005技术内幕:t-sql程序设计part1(中文完整版分4份下) C# 编程实例与技巧 本周上传用户排名 122个star20100906 43个aa3323036 28个sai5201314vicky 28个ltx0724 26个fengboss2010 23个zhoulei3862422 20个lghndyz 19个melody9758 19个qks123 19个DoomLord 17个afd_326 16个yuxuanmoge 16个bianchdaiw 16个muddy12345 15个zk6010 15个yosen 15个lleheaven 公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号世纪乐知(北京)网络技术有限公司 提供技术支持江苏乐知网络技术有限公司 提供商务支持 Email:webmaster@csdn.netCopyright © 1999-2010, CSDN.NET, All Rights Reserved

64,641

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧