| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1844 人关注过本帖, 1 人收藏
标题:c初学者求助
只看楼主 加入收藏
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 20楼 a7882669
你认为语法没有问题,并不表示编译器不知道,
好的编译器会针对一些常见的隐藏错误,设置警告信息出错输出。
比如说常见的无符号与有符号数之间进行比较,double转int,float产生的数据精度损失警告等等。

不同的编译器会输出不同的警告信息,但最终的含义是一样的,就是你的程序可能存在bug.
这也是为什么有一部分程序编译正常,却时不时的出现运行出错的问题。
所以一般大家推荐用最高级别的警告编译参数来编译C/c++程序,力求产生出高质量的代码段。
你可以查看你的编译器说明,打开这个选项进行编译,这个是GCC的,gcc -Wall。

多数国外的程序员都精通几个编译器,他们会把代码放在不同的编译环境中进行测试,一般能通过大多数编译器的代码都是值得信懒的。

我们都在路上。。。。。
2012-08-02 11:45
a7882669
Rank: 4
等 级:业余侠客
帖 子:192
专家分:290
注 册:2012-4-17
收藏
得分:0 
回复 21楼 hellovfp
谢谢版主了。。。
2012-08-02 12:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不要尝试把警告简单地抹掉,要认真思考警告背后所指向的隐患。隐患比能够发现的错误更危险!

举个例子:类型不匹配的警告,有人会通过强制类型转换把警告抹掉,但这是很鲁莽的举动。真正需要关注的,是为什么会在编写代码的过程中发生前后类型不一致的原因,到底应该使用哪一个类型?如果千篇一律地都强制转换掉,那么程序运行时的隐蔽错误和崩溃,到时让你更无法找到问题所在,全都被掩盖在正确的语法之下,那更无从入手。C的强制类型转换,其实是一种相当糟糕的语法,C++承认继承了这种语法是迫不得已,强烈建议取缔的,但C程序员却最喜欢用,这种根基越深,后患越大。

编译的时候,你宁愿看到“错误”,也不要看到“警告”。好的程序员,编译时允许出现“错误”,因为那通常是简单的语法错误,很容易纠正,但若出现大量的“警告”,那就很不成熟了,从这样的角度,可以自我评判一下的。

[ 本帖最后由 TonyDeng 于 2012-8-2 12:35 编辑 ]

授人以渔,不授人以鱼。
2012-08-02 12:21
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
关于强制转换,小鱼兄就是这样的,转到C++后,还习惯C的强制转换语法。
他还不理解为什么C++要求使用新的强制转换关键字的意义。
T版的这个例子举得也很生动。

我们都在路上。。。。。
2012-08-02 12:42
wangxiang935
Rank: 3Rank: 3
来 自:南京
等 级:论坛游侠
帖 子:177
专家分:179
注 册:2012-7-11
收藏
得分:0 
你最后应该再空一行出来
2012-08-02 13:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
都说C是基础,但“基础”的意义在哪里,却不是说这些话的人都知道。有些人把不良习惯当优势而不自知罢了,之前又没学过其他的语言,一起手就学C,也不可能知道什么是好什么是坏,而教的人又不说,这才更危险。

授人以渔,不授人以鱼。
2012-08-02 13:07
hjb5074
Rank: 1
等 级:新手上路
帖 子:19
专家分:2
注 册:2012-5-31
收藏
得分:0 
把代码弄上来看看
2012-08-02 18:13
Vincent_CZW
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2012-3-10
收藏
得分:0 
警告是不能忽略的,但是确实是存在一些这样的警告不影响程序运行,比如比较常见的:声明的变量未使用,还有得编译器要求main函数的返回值得情况等!!
2012-08-02 23:20
wangxiang935
Rank: 3Rank: 3
来 自:南京
等 级:论坛游侠
帖 子:177
专家分:179
注 册:2012-7-11
收藏
得分:0 
嗯~~~~嗯~~~~
2012-08-03 09:20
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
警告要引起注意哦!~我也是经常检查警告的~~
2012-08-03 11:44
快速回复:c初学者求助
数据加载中...
 
   



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

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