读书人

gdb调试代码时出的有关问题附带源码

发布时间: 2013-10-01 12:15:56 作者: rapoo

求助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。
[解决办法]

引用:
我验证过,centos64位 gcc4.4.6 的却有楼主说的问题

也不排除是gcc有bug。套用之前一同事的名言:“凡是人造的东西都有bug!”
其实我认为:“上帝造的东西也有bug!不然怎么可能进化出人类?”

读书人网 >C++

热点推荐