求助gdb调试代码时出的问题,附带源码
#include <stdio.h>
int main()
{
int a = 0;
char c = 'a';
if ('\0' == c)
{
printf("hello\r\n");
}
else if ((0 == a) && ('\t' != c))
{
printf("world\r\n");
}
else
{
printf("hehe\r\n");
}
return 0;
}
求高手复制一下上面的小程序,用gdb调试一下,
不知道为什么在打印完world以后会显示else if ((0 == a) && ('\t' != c))这一行,有哪高手能指导一下,在编译的时候只用过-g没加任何的-O。
[解决办法]
也不排除是gcc有bug。套用之前一同事的名言:“凡是人造的东西都有bug!”
其实我认为:“上帝造的东西也有bug!不然怎么可能进化出人类?”