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

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

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

閱讀全文

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

熱點內容
奶粉源箱源碼什麼意思 瀏覽:159
台州程序員兼職一般去哪些網站 瀏覽:386
舊版本怎麼下載到新的安卓 瀏覽:964
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:263
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:426
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:264
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:38
pic單片機學習網站 瀏覽:163
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:744
pdf背景綠色 瀏覽:612
記事本dos命令 瀏覽:275
伺服器如何搭建多個節點 瀏覽:328