導航:首頁 > 源碼編譯 > 不同編譯器下運行結果不一樣

不同編譯器下運行結果不一樣

發布時間: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的值是隨機的,有可能出現任何值

閱讀全文

與不同編譯器下運行結果不一樣相關的資料

熱點內容
單片機基本概念 瀏覽:501
租什麼伺服器好又便宜 瀏覽:713
python爬蟲必背知識 瀏覽:676
筆記本如何與片式伺服器連接 瀏覽:721
組態王必須用加密狗嗎 瀏覽:279
組裝單片機對比度差 瀏覽:930
單片機按鍵控製程序 瀏覽:924
航海pdf 瀏覽:419
三根陰線選股指標源碼 瀏覽:776
PDF編譯base64位文件 瀏覽:589
app名字注冊在哪裡 瀏覽:399
華為方舟編譯器和miui 瀏覽:480
matlab與python介面 瀏覽:838
怎麼看加密市場 瀏覽:225
linux進程間通信管道 瀏覽:555
外圓圓弧槽左右切削怎麼編程 瀏覽:384
做解壓的實驗 瀏覽:691
多人偽伺服器怎麼開荒 瀏覽:608
中興交換機埠打開命令 瀏覽:975
編譯原理vn集合 瀏覽:9