⑴ 同一個C++程序為什麼在兩個相同的VS2008編譯器上運行的結果不一樣,非常之急,在線等!
貌似如果是windows程序就必須該設置,例如在網上下了一個小程序,裡面只有CPP文件和一個resource.h,這是一個WinMain程序,懶得建立一個win32工程,直接上來就打開CP文件進行build,編譯器報告上面的錯誤(如題).
原因: VC++此時假定你要建立Console程序而不是GUI程序,而Console程序的Startup Code要載入的是main()而不是Winmain(),導致連接失敗。
改正的方法: 將菜單Project/Settings下Link項Option內的/subsystem:console改為/subsystem:windows。另外也可以先New一個Win32 GUI Project,再拷貝入你的程序,再Build。
⑵ C語言同一段代碼,同樣的文件,編譯器為什麼運行結果不一樣
有如下幾種可能:
1 代碼運行的平台硬體不同。
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬體最底層就是不同的,而C語言是一門和底層相關性極大的語言,在不同的硬體上運行出不同結果是很正常的。
2 代碼運行的系統不同。
相同CPU在不同操作系統上跑相同代碼時,一樣會出現不同的結果。這是由於系統底層的實現不同造成的。比如Linux和Windows,在底層處理上就有一定的差異。
3 編譯器不同,同時代碼中使用了C規范未定義規則的語句。
C語言規范並沒有對C語言的所有行為做定義,所以相同語句,不同編譯器的運行效果可能有所不同。比如同樣的sizeof(int),在16位編譯器上結果為2,而32位編譯器上就會是4。
4 代碼獲取到的外部數據不同。
比如運行代碼時獲取到的其它輸入不同,包括程序中獲取的環境變數,實時信息,以及各種外部輸入等,均有可能出現不同。
比如在做隨機數時,如果以當前時間設定隨機數種子,由於每次的時間是不同的,同一個程序每次運行的結果都是不同的。
⑶ 一個C++小程序,在不同編譯器里運行結果不一樣,怎麼回事
r和c都沒有初始化,你就while(++r)了,當然結果不一樣。
在這種情況下,一般r,和c是隨機值,但一般是編譯器給的一個負數。
int r=0;
int c=0;
⑷ 為什麼c語言在不同編譯器運行結果不一樣
這種代碼本來就是不嚴謹的,i++只是說當前表達式計算結束後再自增
三個i++啥時候對i自加呢?
這種表達式都是一些水平不行的」教授「寫的教程帶來的垃圾書,扔了吧
⑸ 同一代碼在不同編譯器上顯示不同
出來結果不是看運行的機器是多少位,而是看這個程序是多少位的,即使你的機器是64位出來的結果還是這樣
你用tc這個16位編譯器,出來的是16位程序,那麼裡面的東西都是按照16位來的
你用vc按32位進行編譯,出來的是32位程序,那麼裡面的東西都是按照32位來的
相信你是自己明白為何16和32位出來不同結果,我也不解釋了
計算機多少位的你可以下載個CPU-Z進行查看,還能看出操作系統多少位
計算機多少位 操作系統多少位 程序多少位 都是不同的概念
我的機器64位 操作系統32位 可以運行多數的32位 和 16位 windows或dos程序,但是一般的64位程序運行不了,因為操作系統只有32位。
⑹ C++為什麼在vc++6.0與c++ builder6.0這兩種環境中的編程界面不同呢
VC也有可視化的環境
微軟的MFC就是提供了可視化的環境
其中基於對話框的程序和VB很相像
VC其實並不是完全的可視化開發環境
如果你要寫出好的windows程序
需要精通C++語言和OOP方法以及了解windows系統的相關知識
比VB復雜的多 但是比VB強大而且性能上要好
C++和C最大的不同就是C++有了面向對象的特性
如果你是初學C++ 先要熟悉面向對象的程序設計思想
有了思想 用什麼開發環境是次要的
⑺ 為什麼匯編代碼在不同編譯器上結果不一樣
也許是masm版本不同引起的,高版本功能更強、會進行某些優化。
另,有些功能,在匯編中也會有不同的實現方式;再,高版本對偽指令的用法也許進行優化調整。
⑻ C語言同一段代碼,同樣的文件,編譯器為什麼運行結果不一樣
一般來說,C語言程序被編譯為可執行程序後,每次都輸出都是相同的,但有些特殊情況例外,比如,代碼中引入了隨機變數,並讓它出現在輸出結果中。
⑼ 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同
函數f1中的變數c,你在未初始化的情況下就使用了,就是這句while(c!=0)。這時c的值是不確定的。
⑽ python官網的編譯器怎麼和圖中相差這么多
官網上的編譯器也有一個輸出信息的區域。你要打開idle,而不是直接打開python。
打開idle後界面雖然與codecademy界面不太一樣。不過大體上輸出也有。編輯文件的功能也有。輸出信息在console窗口裡,編輯在編輯器的窗口裡。你自己可以拖動,讓它更象是網校里的界面。