| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 689 人关注过本帖
标题:为什么这种写法不提倡
取消只看楼主 加入收藏
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
为什么这种写法不提倡
#include<stdio.h>
#include<conio.h>
int main()
{
    int k=1,s=0;
   
    loop: if(k<=3)
          {
              s = s+k;
              k++;
              goto loop;        
          }
    printf("%d",s);
    getch();
    return 0;   
}
今天学习的时候看到这么个程序,说是不提倡,但却是能实现目的....不是解决问题就好了吗,干嘛不提倡啊...会出错吗?
搜索更多相关主题的帖子: include 
2011-11-21 21:27
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
收藏
得分:0 
以下是引用TonyDeng在21-11-2011 21:46:41的发言:

goto语句,极具争议性。在老式汇编、BASIC时代盛行,属于无条件跳转,效率极高,但逻辑性却很混乱,它等于允许飞天遁地,穿越一切检测条件瞬间跳到另一处,从而令被跳过的检测和设置语句形同虚设,安全性极差。自从模块化编程概念兴起,就不提倡再使用这种语句,但事实上在某些极复杂的嵌套代码段中,goto语句有时在具备极高效率性的同时又能让逻辑异常清晰,在这种情况下,就允许使用goto语句。因此,尽管不提倡、完全可以被取代,但当今所有流行的编程语言中,都仍然保留goto语句的语法,就是这个道理。把握使用的时机,需要智慧,在这方面不能钻牛角尖,不是能够实现就可以用、或者坚决不用这样的极端立场,一切以程序逻辑的清晰性为宗旨,这倒是另外的原则(同样,也有持不同意识形态的程序员视效率为宗旨,这是另外的一个持续已久的争论)。
恩...确实是看条件的...

每多学一点知识,就少写一行代码.
2011-11-22 21:32
快速回复:为什么这种写法不提倡
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014404 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved