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的值是随机的,有可能出现任何值