A. C語言不同編譯器的程序不一樣
各種編譯器遵循的代碼標准有差異,所以處理代碼的時候會有差異
B. C語言的編譯器為什麼有許多不同的版本並且在不同的編譯器版本下C語言的語法規則也不盡相同
新的版本都是基於舊的版本升級過來的,以此來改善編譯器的性能、增加對新平台的支持以及提高競爭能力。
不同的編譯器支持的標准語法是一致的(不然沒資格稱C編譯器),但是每個編譯器自身可以添加額外的語法、庫來擴展語言的表達能力,這就是所謂的xx編譯器擴展。使用語言擴展通常能獲得較高的性能和靈活性,但是損失了跨平台性。
不僅僅是編譯器有很多版本,語言本身都有很多版本,目前C語言的版本是C11,下一個版本為C1y。
C. 用C語言寫了一個程序,如圖。請問為什麼用不同編譯器執行同樣代碼,結果不同
把 這一句: int b = b + 1;
改為 b = b + 1;
結果就一樣了
因為你在while中重新定義了變數b,但是沒有給b賦值,b的值是隨機的,有可能出現任何值
D. 用c語言寫程序,同樣的代碼,為什麼編譯時間每次都不一樣
這個編譯器內部有預編譯的東西,所以時間不一樣,而且計算機的內存,後台進程不一樣,時間也就不一樣了
E. c語言,不同的編譯器會得出不同的結果
應該是2 12 30
這里是典型的宏定義的負效應
S(i++)代換完就是(i++)*(i++)
不管按照什麼次序,比如
i=1, 先算i++返回1,而i的值變成了2,後面一個i++,返回2,則i的值變成了3
以下類推
F. C/C語言。每個編譯器構建出的exe大小不一樣的啊大好還是小好哪個編譯器什麼版本最好呢
大小要看編譯器使用的實際指令序列。
不同的編譯器有不同方案,同一種編譯器也有多種方案。
例如,有尺寸最小的指令方案,有執行速度最快的方案等等。
哪種方案最好,要看你在實際使用中注重那種特徵。
G. C語言的編譯器是不是都一樣
不一樣,支持的語言特性不同,編譯出的代碼效率不同。當然,還有就是編譯出的程序在不同的系統上跑的。比較好的c編譯器就是gcc和vc了。這兩是x86上用的最多的c編譯器還有像Intel的ICC也不錯,優化很好。
H. 為什麼我的C語言編譯系統和別人的程序輸出的答案不一樣呢
看圖,你的程序沒有問題呀…………
你輸入數的方式有問題。
輸入數時:a,b逗號前後緊緊接著數字,不可以有空格!
或者scanf("%d,%d",&a,&b);
改為scanf("%d%d",&a,&b);
用空格分隔兩個數輸入!!!
I. C語言代碼在不同編譯器下運行結果不同,請問原因
可以把fflush(stdin); 刪掉,有時候把這個刪掉就行了。scanf("%c", &ch);換成ch=getchar();應該就行了。
至於兩個編譯器不一樣的情況,這是肯定會有的,畢竟是兩個不同的編譯器。