登录  /  注册

C语言中的Warning到底调不调

高洛峰
发布: 2016-11-22 17:53:47
原创
1541人浏览过

其实大多数的c语言工程师是不调warning的,但是如果你和我一样是一个贱婊子,不调手难受,不调心痒痒,不调戏一下warning就睡不好觉。那么告诉你一个warning的调戏经验。

首先在调戏Warning之前,咱先得把Error这位爷请走。也就是说先调Error。把所有的Error都撂倒之后呢,也不保证程序就没错了不是。还有一些不报Error的bug。虽然bug不影响咱们调戏Warning。但是爷要调戏小娘子的时候,有外人看着怎么会尽兴。

当然了bug往往是修补不干净的(用タカキさん的话说“中国有句古话叫鸡蛋里挑骨头”)那么个别不影响正常程序使用的贱bug就让他观摩吧。

某些新人程序员如果不知道怎么把Error这位爷请走,那么我也说一下吧。

Error一般是由于语法错误引起的。常见的错误一般是拼写错误(太着急调戏小娘子,大哥你也不能按那么快啊),还有就是没打分号或者分号打成逗号,当然也有某些“处男”还会中文标点的问题报错。

当然我们也经常遭遇一些奇怪的Error,这类爷本来就是找茬儿来的。看看有没有中文路径的问题,有的Error甚至是重新打开编译器就能好。实在不行 百度,谷歌,必应,等等等。(谷歌似乎还是需要翻*qiang,我习惯使bing必应,个人有个人的习惯,的确很多人在用谷歌。推荐初学者使用百度,初学者常见Error在百度都被人答烂了。毕竟谷歌现在好像还是要翻*qiang的,我这种贱人就不喜欢翻*qiang)

那么各位爷,开始解皮带吧。

先调戏能删的。有的时候声明了变量或者函数然后一直没用。这是一种常见的Warning婊,我的经验是删之。即使有的变量是明知后续升级时会用到的东西。如果没有完全确定必要预留,那么下版的事儿下版再说。当然了如果声明的函数是已经写好了但是没有用的,可以收集起来,留着以后用,但是要是和这个程序没关系还是删掉的好。虽然我一般的做法是只删多声明的变量不删多声明的函数。

返回值没有变量接受,某些非空函数的返回值几乎无意义,成功返回1失败返回0什么的。这种返回值如果套在分支里可能还有点儿用。其实人家本来写那个函数就是方便打入分支的。那么既然没在分支里面。这个值也没啥大用的话,这种小婊砸就打入冷宫吧。假装没看见。

调用了某头文件的函数但是没有把头文件包括进来。

比如:warning: type mismatch with previous implicit declaration

implicit declaration of function '***'

这种把头文件包括进来就行了。

列表和调用不对应too few arguments for format

比如:printf("%4d  %4d",a);

这样要么就补一个,刚才是不是觉得有个值老是显示不出来,还以为是bug呢吧。嘿嘿

当然了,也有某些仁兄是手抖多打了一个,那删呗。

逻辑运算符 或/且 不知道式子两边的范围。

我的习惯是把或和且的两边都带上括号,所以我很少遇到这个warning,毕竟遇到这个还有分析当时的逻辑关系,挺耽误时间的,不如之前就养成好习惯。当然您要是非要留着玩儿解闷儿,我不也没办法吗。那您就赶紧关起门来和您的warning小娘子过二人世界吧。

运算对值没意义

比如您是这样声明的 int *p;

然后您这样*p++;

我觉得您的意思是不是(*p)=(*p)+1;

您自己再看看您当时想表达啥。

redefined,这个是声明多次的意思。那就声明一次好咯,用 #ifndef 就能巧妙的避免这种情况。

if的分支或者while的循环不可能被执行到,您定义个unsigned然后一个if判断他是不是负数。该删就删吧。

还有一种warning是参数类型不一致,加强制类型转化呗。

无论您如何调戏,您最好改一步就重新编译运行一次。原则是调戏Warning的过程中不能产生Error或者新的bug。

祝各位单身的爷顺利勾引到warning小娘子,我回家和夫君去做羞羞的事情了。

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号