導航:首頁 > 源碼編譯 > 不同的編譯器會有不同的字元嗎

不同的編譯器會有不同的字元嗎

發布時間:2022-07-01 02:36:27

⑴ 在C語言中,很多東西,用不同的編譯器,結果就不一樣,像這種問題,在考級的時候,是不是應該避免啊

這個牽涉到C的輸入問題 和getchar本身沒什麼關系 getchar是讀取一個字元的函數這個不用多解釋 大概是你的書上沒講c的輸入方式 所以你不明白吧
程序的輸入是先到一個叫做輸入緩沖區的地方等待 觸發某一條件後一起送往程序
你輸入數據時這樣的 xxxx(回車滿足條件 輸入被送往程序)
那麼在c的輸入緩沖區里就會有xxxx'\n'
這個'\n'是由回車鍵觸發的
前面的xxxx會被送入程序 而'\n'卻被遺留在緩沖區中 如果不用getchar函數取走它那麼哪一個讀取字元的函數就會讀到它而終止讀入引起程序的邏輯錯誤

⑵ vc中這么多字元類型有什麼區別

在MSDN上的解釋是:
On 32-bit platforms, long is synonymous with int.
即:在32位機上,long與int同義。

不同的編譯器會分配不同的空間,還跟計算機是多少位的有關,不過一般long是int的兩倍長度。

long的定義是其所佔用的存儲空間大小不小於int。
long 和int只是(可能會)存儲空間大小不同,而讀取兩者中的數據時使用的方法規則是一樣的。
__int64 和long long是系統定義的兩個基本類型的類型名 雖是兩個不同類型名,其實本質類似於同一個類型的兩個別名而已。

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

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

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

應該是2 12 30

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

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

⑸ 每個編譯器都不一樣么 c語言一般用什麼編譯器 每次一種編譯器不能編譯 另一種卻能編譯出

編譯器就是c語言編譯成二進制的東西,
不同的編譯器是不同的, 比如16位系統和32位系統的編譯器就不同,因為16位的認為int是2位元組,32位的則認為是4個位元組。 另外 linux上的編譯器跟windows下的編譯器也不同,linux上的認為內核空間佔1G,而windows下則認為佔2G, 此外兩個系統對環境變數以及其他的設置也不同所以編譯器更不能用。
而且不同的CPU的指令集時不同的,所以同樣int a =1 最後被編譯成的二進制代碼也是不同的。

C語言的編譯器有很多,windows下的編譯器也有很多,不同的編譯器可能會做一些不同的優化,linux下的gcc也可以添加選項讓他編譯windows下運行的程序。
main(int argc,char*argv[ 】 ) argc 是你的參數個數 argv是你的參數。
比如你最終程序叫 add 那麼 你在命令行執行add 1 2 那麼argc =3 第一個參數使你的add, 第二個第三個就是 1 2, 在函數內部你就可以獲取這倆參數進行相加然後列印

visual 是個IDE,集成開發環境,已經集成好了windows下使用的編譯器連接器 等, 編寫代碼完成後直接點擊編譯就行了。 IDE的默認編譯器是可以更改的,不同的IDE設置不同。

⑹ C編譯器問題。不同編譯器中編寫C/C++程序語法是否有不同

for(int i=0;i<10;++i) cout<<i;
cout<<i;

Dev-c++里,是錯的。i的作用域只是for

vc6.0里是對的。

這只是c++的寫法。c里變數聲明必須放在前面,不會有這種情況。

其他的沒用過。

⑺ 在不同的c語言程序中,同一字母編譯後產生的字元串一樣嗎

你想表達什麼?
C語言是個標准,它只有一種,目前最新的是ISO
C
11(C的編譯器有多種,而C的源程序就無數了)
另外一個字母怎麼可能產生一個串?

⑻ c語言中 int a++ 和++a 在不同的編譯器中會有不同的結果么 如果有分別是什麼情況

當然會不一樣了, a++ 在表達式中調用時用的是a的值,++a在表達式中用的是a+1的值,假如a=5,輸出時a++=5,++a=6.

⑼ 同樣的變數類型,在不同的編譯器中占的位元組數有的為什麼不一樣,有的為什麼又一樣

這很正常,每個編譯器有自己的規定嘛,而且這和電腦也有關系,比如16位,32位機,64位都是可能不同的。在國外的C語言書《The C Programming Language 》《 C primer plus》
上有介紹 大概了解一下就行了。另外你可以自己在裡面寫程序測試你的使用環境里的是幾個位元組

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

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

閱讀全文

與不同的編譯器會有不同的字元嗎相關的資料

熱點內容
把加密zip變成文件夾 瀏覽:210
linuxrecv阻塞 瀏覽:44
java模擬cookie 瀏覽:172
主角變身女收女的變百小說 瀏覽:758
粉筆教育app從哪裡看做過的題 瀏覽:391
app數據包在哪裡找到 瀏覽:923
百煉成仙綠帽改編1-11 瀏覽:107
女主和一對雙胞胎兄弟 瀏覽:437
刀劍神域小說TXT 瀏覽:1000
php獲取文件地址 瀏覽:578
linuxsed替換字元 瀏覽:413
如何填寫國家反詐中心app注冊使用 瀏覽:790
日本影視網站 瀏覽:933
伺服器點亮埠以後有什麼特徵 瀏覽:980
51單片機定時器pwm 瀏覽:685
民國修真 瀏覽:386
php數組作為參數傳遞 瀏覽:991
運行命令查ip 瀏覽:202
漲奶吃奶小說 瀏覽:340
股票十大戰法主圖指標源碼 瀏覽:702