相同的代碼和編譯器的區別
❶ C語言同一段代碼,同樣的文件,編譯器為什麼運行結果不一樣
一般來說,C語言程序被編譯為可執行程序後,每次都輸出都是相同的,但有些特殊情況例外,比如,代碼中引入了隨機變數,並讓它出現在輸出結果中。
❷ 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同
樓主忽略了 調用函數f1 時,c 沒有賦初值就直接判斷
在樓主程序的基礎上略作修改
截圖
win linux 兩個平台 都測試過
❸ 用C語言寫了一個程序,如圖。請問為什麼用不同編譯器執行同樣代碼,結果不同
把 這一句: int b = b + 1;
改為 b = b + 1;
結果就一樣了
因為你在while中重新定義了變數b,但是沒有給b賦值,b的值是隨機的,有可能出現任何值
❹ C++之IDE和編譯器的區別
C++的IDE與編譯器的區別:
IDE(Integrated Development Environment)指集成開發環境,也就是用於編輯代碼、開發程序的應用程序,一般包含代碼編輯器與編譯器等。C++的IDE有Visual C++6.0、GUIDE等;
編譯器(Compiler),則是用於將高級編程語言代碼翻譯成目標代碼(如機器語言)的程序。C++的編譯器是g++。
上面說了,IDE一般包含編譯器,也就是說編譯器一般屬於IDE的一部分。在IDE中可編輯、編譯代碼,而編譯器只能編譯代碼。
❺ 編譯器和解釋器的主要區別是什麼他們相對於對方各自的優點
解釋器是解釋執行的源代碼,編譯器是將源代碼編譯成目標代碼
他們最大的區別是程序運行時需要解釋器邊解釋邊執行,而編譯器則在運行時是完全不需要的
解釋器的優點是比較容易讓用戶實現自己跨平台的代碼,比如java,php等,同一套代碼可以在幾乎所有的操作系統上執行,而無需根據操作系統做修改;
編譯器的目的就是生成目標代碼再由連接器生成可執行的機器碼,這樣的話需要根據不同的操作系統編制代碼,雖然有像Qt這樣的源代碼級跨平台的編程工具庫,但在不同的平台上仍然需要重新編譯連接成可執行文件,但其執行效率要遠遠高於解釋運行的程序。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)