做事不要急躁

  人一急躁,事就做不好,话也会说错,这可能跟性格有关,但也可能是天生的,我们只能在后天的学习、生活中去慢慢改变它。

  今天我在写程序的时候碰到了一个怪事,明明在类的成员里声明了变量的,在调试过程中,编译器竟然告诉我这个变量是一个无法计算的表达式!后来我又在局部声明一个变量,结果却一样!变量类型是DWORD,我用的MFC对话框,后来我就想,这真是奇了怪了,难道MFC不支持DWORD?然后我把类型改为long型,结果还是不行,把我急了一头汗。。。╮(╯▽╰)╭ 最后我把变量换为int型就OK了(其实换不换int型跟我碰到的问题没有关系,请接着往下看)。

  做完后,我仔细思考了这个问题,我发现,原因出在字符串的格式化上,因为我要把数字型通过格式化转换为CString型再MessageBox出来,我在格式化的时候,对DWORD型使用的是%f,其实这是不对的,我换做%d就行了,至少结果看似是正确的。但我的心里还是犯嘀咕,%d真的对吗?这个我就不是很清楚了,C语言里格式化字符串有一大堆的东西,最麻烦的就是选择相对应的类型,因为C语言是强类型语言,必须选择正确,否则结果就不正确,但我偏偏记不住那些%c啊%d啊%f啊等等等等,看样子我得把这个基础补补了。

  所以当我的结果显示不正确的时候,我就去调试,结果调试中却发现出现了“变量是一个无法计算的表达式”的错误,我在断点处看不到当前值!就连this的所有变量的值都为“表达式无法计算”!!大家可以想象我当时有多震惊!理所当然的我就去想MFC该不会不支持DWORD型吧?是我的代码有问题?还是出了什么其他的怪毛病了?于是就在那里改代码,改来改去改了半天,后来我把变量的类型改为int型,把格式化类型改为%d解决了这个问题(假相,根本没找到问题所在)。心里在想:莫名其妙的MFC,居然不支持DWORD,以后再说吧!然后我就点生成应用程序,就在这时,晴天一个霹雳打到了我的头上,我一直用的Release在调试程序!!!

  看到这里,各位可能会说,谁叫你这么粗心呢?你要是不急躁,把问题想清楚了,不就不会出这样的低级错误了?

  是啊,所以说,做事不能急躁,要慢慢来,不然只会自己乱了阵脚,到头来瞎忙一气,呵呵。今天写下这篇文章,就是为了记下这个经验教训,人不可能不犯错,但是如果同样的错误一犯再犯,那就怨不得天,怨不得地了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值