当前位置: 代码迷 >> C语言 >> 大家帮忙看看,说说why会这样(结帖)
  详细解决方案

大家帮忙看看,说说why会这样(结帖)

热度:237   发布时间:2008-05-04 13:49:30.0
c_acceleration是做手机的?
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]c_acceleration[/un] 在 2008-5-4 13:41 的发言:[/bo]
差不多是的,why?


没有WHY,我只知道标准的编译器会输出TRUE,我不学非标准

而且我也不写这种代码,我写的代码都是将警告作为错误处理,所以我的编译器不能运行这个程序
----------------解决方案--------------------------------------------------------
看9楼
----------------解决方案--------------------------------------------------------
看了,感觉标准的就是不错,xor %eax,%eax
至少把%eax 清零,寄存器没残留。。。
----------------解决方案--------------------------------------------------------
汇编到几代了?我怎么觉得我的c51和x86(除去忘记的),怎么还有没见过的指令...
----------------解决方案--------------------------------------------------------
感觉Solaris10平台或者你的编译器还是有点问题...
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-5-4 14:04 的发言:[/bo]

汇编到几代了?我怎么觉得我的c51和x86(除去忘记的),怎么还有没见过的指令...



这个汇编可以说是祖宗的变种

#include <stdlib.h>
bool myfunc(int p)
{
        if (p == 1) {
                return false;
        } else if (p == 2) {
                return false;
        }
      //  return  false;// 我加与不加
}

int main()
{
        try
        {
                if (myfunc(3)) {
                        printf(" ... return TRUE ...\n");
                } else {
                        printf(" ... return FALSE ...\n");
                }
        } catch (...) {
                printf(" ... Exception is caught ...\n");
        }
        return 0;
}

1
... return TURE ...


2
... return FALSE ...


之后不用输入都是
... return FALSE ...

哈哈,到此结帖吧,此程序病态

[[it] 本帖最后由 c_acceleration 于 2008-5-4 14:15 编辑 [/it]]
----------------解决方案--------------------------------------------------------
  相关解决方案