當前位置:首頁 » 編程軟體 » 不同機器編譯出的結果不同

不同機器編譯出的結果不同

發布時間: 2022-04-26 09:37:27

❶ 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同

樓主忽略了 調用函數f1 時,c 沒有賦初值就直接判斷

在樓主程序的基礎上略作修改

截圖

win linux 兩個平台 都測試過

❷ 同一代碼在不同編譯器上顯示不同

出來結果不是看運行的機器是多少位,而是看這個程序是多少位的,即使你的機器是64位出來的結果還是這樣

你用tc這個16位編譯器,出來的是16位程序,那麼裡面的東西都是按照16位來的

你用vc按32位進行編譯,出來的是32位程序,那麼裡面的東西都是按照32位來的

相信你是自己明白為何16和32位出來不同結果,我也不解釋了

計算機多少位的你可以下載個CPU-Z進行查看,還能看出操作系統多少位

計算機多少位 操作系統多少位 程序多少位 都是不同的概念

我的機器64位 操作系統32位 可以運行多數的32位 和 16位 windows或dos程序,但是一般的64位程序運行不了,因為操作系統只有32位。

❸ 用c語言寫了一個程序,如圖。請問為什麼用不同編譯器執行同樣代碼,結果不同

把 這一句: int b = b + 1;
改為 b = b + 1;
結果就一樣了
因為你在while中重新定義了變數b,但是沒有給b賦值,b的值是隨機的,有可能出現任何值

❹ 不同編譯器會不會產生不同的結果

會有不同的結果。因為編譯器不同自帶的庫函數也不一樣。

❺ 不同的機子,怎麼執行程序結果不一樣啊

因為不同的機子參數不一樣,有可能你的程序代碼含有默認本機內置參數

❻ 為什麼匯編代碼在不同編譯器上結果不一樣

也許是masm版本不同引起的,高版本功能更強、會進行某些優化。
另,有些功能,在匯編中也會有不同的實現方式;再,高版本對偽指令的用法也許進行優化調整。

❼ 說是c語言可移植性好 怎麼書上說不同的機器完成的結果不同 結果是跟操作系統有關還是跟cpu有關

都有關系。
一些有爭議的寫法,比如很多的+在一起,機器編譯的結果可能是不一樣的,可能是編譯器不同,也可能是硬體結構不同造成的。

CPU的指令,結構不同啊,編譯到底層的指令和執行順序肯定是有差別的。

有些地方int默認是16位的,有時是32位的,還有64位的,硬體和操作系統得在不斷變化,之前那裡料得到。

❽ 同樣一段代碼,為什麼編譯器不同會不同結果

這很正常,每種語言的標准只是給出了該語言實現的最小集合,而廠家或者開源社區做編譯器的時候,只要遵循這些標准就可以,在此基礎上增加的非標准功能,就有可能不一致了。

❾ c語言,不同的編譯器會得出不同的結果

應該是2 12 30

這里是典型的宏定義的負效應
S(i++)代換完就是(i++)*(i++)

不管按照什麼次序,比如
i=1, 先算i++返回1,而i的值變成了2,後面一個i++,返回2,則i的值變成了3
以下類推

❿ 一個C++小程序,在不同編譯器里運行結果不一樣,怎麼回事

r和c都沒有初始化,你就while(++r)了,當然結果不一樣。
在這種情況下,一般r,和c是隨機值,但一般是編譯器給的一個負數。
int r=0;
int c=0;

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:626
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:71
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:296
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:798
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:355
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582