读书人

if语句的判断有关问题

发布时间: 2012-03-24 14:00:46 作者: rapoo

if语句的判断问题
有时候在编译器上调试程序的时候发现有的if语句明明符合条件却跑不进去是什么原因啊?

比如说:

typedef enum{
MONDAY,
TUESDAY,
WENSDAY,
THURSDAY,
FRIDAY
}workday;

int main()
{
workday oneday ;

....
oneday = WENSDAY;
....

if(oneday == WENSDAY) // 在这里调试的时候就是不往if子句里跳,换成2也不行。
{ // 但是后来又编译程序之后好了,能解释下为什么会发生这种情况吗?
.....
}
else
{
.....
}
return 0;
}

[解决办法]
重新编译后没事就行了,,,有时编译器还会留下之前编译过的记忆...
[解决办法]
编译器 重新来过的 ,没改动一次 ,就需要重新 保存 编译 一次
[解决办法]
结果可能编译器在自动优化的过程中忽略了那段代码,但为什么会出现这个情况不敢肯定
[解决办法]
Debug从程序的头部开始找

读书人网 >C++

热点推荐