导航:首页 > 源码编译 > 不同编译器下运行结果不一样

不同编译器下运行结果不一样

发布时间:2023-02-27 13:57:56

1. 不同编译器会不会产生不同的结果

会有不同的结果。因为编译器不同自带的库函数也不一样。

2. 为什么汇编代码在不同编译器上结果不一样

也许是masm版本不同引起的,高版本功能更强、会进行某些优化。
另,有些功能,在汇编中也会有不同的实现方式;再,高版本对伪指令的用法也许进行优化调整。

3. 关于C语言在不同编译软件中运行后得到的不同结果的问题。

tourbo中int 占2个字节 c++中占4个字节 -1是以2进制补码的形式表示滴。
tourbo中-1的16进制形式表示:0xFFFFFFFF
c++中-1的16进制形式表示为:0xFFFFFFFFFFFFFFFF
所以翻译成8进制时也各不相同啊。
可以使用头文件inttypes.h 这是c99提供的一个可选名字集合(来完成可移植性)
使用该头文件你可以定义uint32_t a; 那么a变量表示一个32位无符号的整数类型。
这就保证了程序的可移植性,关键是现在很多编译器还没有实现c99的这一功能属性。

4. C语言同一段代码,同样的文件,编译器为什么运行结果不一样

一般来说,C语言程序被编译为可执行程序后,每次都输出都是相同的,但有些特殊情况例外,比如,代码中引入了随机变量,并让它出现在输出结果中。

5. C语言代码在不同编译器下运行结果不同,请问原因

可以把fflush(stdin); 删掉,有时候把这个删掉就行了。scanf("%c", &ch);换成ch=getchar();应该就行了。
至于两个编译器不一样的情况,这是肯定会有的,毕竟是两个不同的编译器。

6. 一个C++小程序,在不同编译器里运行结果不一样,怎么回事

r和c都没有初始化,你就while(++r)了,当然结果不一样。
在这种情况下,一般r,和c是随机值,但一般是编译器给的一个负数。
int r=0;
int c=0;

7. 同样一段代码,为什么编译器不同会不同结果

这很正常,每种语言的标准只是给出了该语言实现的最小集合,而厂家或者开源社区做编译器的时候,只要遵循这些标准就可以,在此基础上增加的非标准功能,就有可能不一致了。

8. 用C语言写了一个程序,如图。请问为什么用不同编译器执行同样代码,结果不同

把 这一句: int b = b + 1;
改为 b = b + 1;
结果就一样了
因为你在while中重新定义了变量b,但是没有给b赋值,b的值是随机的,有可能出现任何值

阅读全文

与不同编译器下运行结果不一样相关的资料

热点内容
事业编程序员下班时间 浏览:7
linux中命令大全 浏览:36
pic单片机学习网站 浏览:163
843除6的算法 浏览:376
arduino编程视频 浏览:744
pdf背景绿色 浏览:612
记事本dos命令 浏览:274
服务器如何搭建多个节点 浏览:326
acx算法 浏览:258
幽冥诡匠漫画全集用什么app可以看 浏览:1002
租用服务器为什么越来越慢 浏览:962
算法创新就业方向 浏览:424
算法最优解作者 浏览:869
通达信红绿宝塔线指标源码 浏览:668
app是什么东西合法吗 浏览:233
怎么锁app视频教程 浏览:842
迅捷pdf注册码生成器 浏览:750
androidsdkosx 浏览:304
压缩面膜纸荧光 浏览:842
app怎么分身三个 浏览:746