相关疑难解决方法(0)

我有gcc优化错误或C代码问题吗?

测试以下代码:

#include <stdio.h>
#include <stdlib.h>
main()
{
    const char *yytext="0";
    const float f=(float)atof(yytext);
    size_t t = *((size_t*)&f);
    printf("t should be 0 but is %d\n", t);
}
Run Code Online (Sandbox Code Playgroud)

编译它:

gcc -O3 test.c
Run Code Online (Sandbox Code Playgroud)

GOOD输出应该是:

"t should be 0 but is 0"
Run Code Online (Sandbox Code Playgroud)

但是使用我的gcc 4.1.3,我有:

"t should be 0 but is -1209357172"
Run Code Online (Sandbox Code Playgroud)

c gcc

10
推荐指数
4
解决办法
5981
查看次数

标签 统计

c ×1

gcc ×1