首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个运算符引起的BUG解决方法

2012-06-16 
一个运算符引起的BUG运算符是相当的让人郁闷啊,一个BUG查了一个星期,结果就是把&错写成了&&怎么没有人建议

一个运算符引起的BUG
运算符是相当的让人郁闷啊,一个BUG查了一个星期,结果就是把&错写成了&&
怎么没有人建议把&&写成 and
这样不就不会错了

原来写的是 if (c && 0x80 == 0x80)
本意是看看字节数据c最高位是不是1,结果错把&写成了&&,酿成了一场悲剧
最后好不容易看出来了,改了一下变成了: if (c & 0x80 == 0x80)
TMD又错了
以后不要搞这么新鲜的玩意儿,搞毛啊,写毛的的==,直接写 c & 0x80不就行了
天堂有路你不走
把我搞到地狱去了

[解决办法]

写and确实是个好主意
[解决办法]
呵呵 g++真的直接支持and

if( 1 and 2 );

编译通过。。
[解决办法]

[解决办法]

C/C++ code
#define and &&
[解决办法]
if (c & 0x80 )
[解决办法]
#include <iso646.h>

然后就可以用 and 代替 && 了。
还可以用 or 代替 ||
还有其他的,直接看看这个头文件就明白了
[解决办法]
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”

[解决办法]
这个其实很多。。。
=和==
<和<<

[解决办法]
这种bug的确很烦人, 对程序员的身心是一种摧残。

[解决办法]
这个写的时候 细心点就行了 ,关于 =和== 最好是把常量写在前面,比如:if(1 == a)这样要是把 == 写生= 编译器也会报错来的
[解决办法]
加括号
[解决办法]
最难了。。。。呵呵 找BUG
[解决办法]
接分...

热点排行