社区
C语言
帖子详情
量在for内定义还是在外定义比较好?各有什么优点?
zzxap
2011-04-26 04:34:41
for(int i=0;i<80000;i++)
{
}
与
int i=0;
for(i=0;i<80000;i++)
{
}
那个更好?变量在for内定义还是在外定义比较好?各有什么优点?
...全文
183
18
打赏
收藏
量在for内定义还是在外定义比较好?各有什么优点?
for(int i=0;i<80000;i++) { } 与 int i=0; for(i=0;i<80000;i++) { } 那个更好?变量在for内定义还是在外定义比较好?各有什么优点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kangwq2017
2011-04-26
打赏
举报
回复
有关i在内还是在外,是个作用域的问题,要根据自己的需要及编译器的情况决定。
要替你补充的一点:i++最好换为++i,这个真的会好一点,更专业
i++:i先创建一个自身的一个副本,然后i自增1,最后返回副本的值
++i:将i自增1并返回i
另外还有i+=1和i=i+1,曾经的面试题。。。
ianoshen
2011-04-26
打赏
举报
回复
需要看i的作用范围吧,有时需要全局用。不过刚试了dev里面第一种编译不过
svtanto
2011-04-26
打赏
举报
回复
for(int i=0;i<80000;i++)
{}
不是标准写法,有些编译器不能通过。
但是,把变量的作用域缩小是良好的编程风格
加油馒头
2011-04-26
打赏
举报
回复
可以忽略不计。。。 都市初始化一次,不会产生过多变量
zhangbo_1001
2011-04-26
打赏
举报
回复
for(int i = 0; i<100; i++){}
error: ‘for’ loop initial declarations are only allowed in C99 mode
gcc:
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9)
sxqinge
2011-04-26
打赏
举报
回复
一直选择第一种。
偶尔也会用第二种,但基本都是这种形式下使用:
int Index = 12;
for(; Index<100; Index++){}
xspace_time
2011-04-26
打赏
举报
回复
小程序好写 知道要用哪些量,前面早就定义了
大点的程序 一边写一边定义,往往都跑到for里面去了
实际上说到效率,好象for要用三段 指令,而while只要两段指令,所以还是把看看汇编代码和执行时间怎么说也比较直接有效
觅食的猫猫
2011-04-26
打赏
举报
回复
没用过第一种,哈哈
Yimw_1978
2011-04-26
打赏
举报
回复
第一种有时候无法编译通过。
pathuang68
2011-04-26
打赏
举报
回复
个人觉得差别不大,纯属个人偏好。
我个人比较喜欢放在for里面。
koolxiaoyuer
2011-04-26
打赏
举报
回复
如果外面还想用就放循环外,如果外面用不到就放里面呗。这样代码看起来清晰简洁
赵4老师
2011-04-26
打赏
举报
回复
据说VC6里面编译
for (int i... {
}
for (int i... {
}
通不过。
qust_sunqiyuan
2011-04-26
打赏
举报
回复
作用域问题
第一种下次你在使用还得声明
第二种就不用了 直接赋值就可以了
ee_smile
2011-04-26
打赏
举报
回复
在循环里面定义的变量跳出循环就不存在了,看自己的需要而定!
masmaster
2011-04-26
打赏
举报
回复
for(int i=0;i<80000;i++) //C99不识别这样的在循环里初始化的方式。
dooX8086
2011-04-26
打赏
举报
回复
除了作用域.还有兼容性与优化问题
int i;
for(i=0...) //兼容性好
for (int i=0...) //传说中会把 i 优化成 register
pengzhixi
2011-04-26
打赏
举报
回复
一个作用域的问题,如果你希望i出了for循环还可以用那么就放外面,如果不希望那就不放for循环里面。
luciferisnotsatan
2011-04-26
打赏
举报
回复
for(int i=0;i<80000;i++)
{
}
i的范围就再for循环里,出了循环,i就销毁了。
不过,就的编译器,如VC6.0,出了for,i还存在,这样和外边定义一样
精通sql结构化查询语句
9.4 外连接 9.4.1 左外连接 9.4.2 右外连接 9.4.3 全外连接 9.4.4
在外
连接中使用聚合函数 9.5 交叉连接 9.5.l 交叉连接的
定义
9.5.2 交叉连接举例 9.6 多表连接的综合应用 9.6.1 内连接与左外连接的综合应用 ...
C++宏
定义
详解
#define是C语言中提供的宏
定义
命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,...
外键为何要建索引?
但发现有时开发人员提交SQL语句时未必会注意外键列需要
定义
索引,或者不清楚为什么外键列需要建立索引,网上一些所谓的“宝典”也会将外键列建索引作为其中的一条,包括TOM大师,曾说过: 导致死锁的头号原因是...
您的Java代码安全吗?还是暴露
在外
?
虽然开发人员不能完全控制动态威胁,但在开发应用程序时,您可以采取一些预防措施来消除静态威胁。本文概括并解释了 13 种类型的静态暴露 ? 它们是系统中的缺陷,它使系统暴露在想要篡夺该系统的特权的攻击者面前。...
Python函数
定义
的高级用法
函数
定义
时的几类常见参数:看如下代码 发现 country 这个参数 基本都 是”CN”, 就像我们在⽹网站上注册⽤用户,像国籍这种信息,你不不填写,默认 就会是 中国, 这就是通过默认参数实现的,把country变成默认参数...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章