A. 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同
函數f1中的變數c,你在未初始化的情況下就使用了,就是這句while(c!=0)。這時c的值是不確定的。
B. 為甚麼寫c51的時候同樣的代碼,編譯後一個出錯另一個生成了hex文件
有幾種可能:
1、代碼中的確有差異,可能有筆誤或多了幾個字元
2、可能在不同的KEIL中,其中一個項目少了幾個默認的庫或有幾個文件沒有復制過去
3、可能在引用頭文件時,用了絕對地址,需要改成實際的地址
4、KEIL版本不同,對錯誤警告的嚴格程度不一樣
以上這些都是猜測,最好能提供編譯錯誤信息
C. 為什麼同樣的代碼在不同的編譯器上編譯有的會報錯,該怎麼解決
很簡單,因為YELLOW和GREEN本身不是編譯器內置的變數,這個有可能是全局變數,有可能是宏定義。你把這兩個變數的聲明一起考到這個文件里就可以了,具體方法可以使用文本查找的方式進行查找這兩個變數。。
D. 我是新手,正確的代碼在我的電腦為什麼會出現錯誤的提示!同樣的編譯
windows和mac的電腦會有些差別,其次就是電腦系統的編譯器錯誤比如說一個代碼可以運行另一個就編譯錯誤,版本漏洞是難免的,最後就是不要把代碼輸錯了。
E. 用C語言寫了一個程序,如圖。請問為什麼用不同編譯器執行同樣代碼,結果不同
把 這一句: int b = b + 1;
改為 b = b + 1;
結果就一樣了
因為你在while中重新定義了變數b,但是沒有給b賦值,b的值是隨機的,有可能出現任何值
F. C語言同一段代碼,同樣的文件,編譯器為什麼運行結果不一樣
有如下幾種可能:
1 代碼運行的平台硬體不同。
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬體最底層就是不同的,而C語言是一門和底層相關性極大的語言,在不同的硬體上運行出不同結果是很正常的。
2 代碼運行的系統不同。
相同CPU在不同操作系統上跑相同代碼時,一樣會出現不同的結果。這是由於系統底層的實現不同造成的。比如Linux和Windows,在底層處理上就有一定的差異。
3 編譯器不同,同時代碼中使用了C規范未定義規則的語句。
C語言規范並沒有對C語言的所有行為做定義,所以相同語句,不同編譯器的運行效果可能有所不同。比如同樣的sizeof(int),在16位編譯器上結果為2,而32位編譯器上就會是4。
4 代碼獲取到的外部數據不同。
比如運行代碼時獲取到的其它輸入不同,包括程序中獲取的環境變數,實時信息,以及各種外部輸入等,均有可能出現不同。
比如在做隨機數時,如果以當前時間設定隨機數種子,由於每次的時間是不同的,同一個程序每次運行的結果都是不同的。
G. 同樣的fortran代碼用不同編譯器或同一編譯器的不同編譯方式,編譯運行的結果不同,具體如下,是何原因
我覺得可能與代碼有關系,不同編譯器不同的編譯模式是存在差異的,包括浮點運算,代碼優化方面是有不同
H. c語言同樣代碼卻不同編譯問題
第二個代碼在C++環境下是可以編譯、運行的,C環境則不行。原因和簡單,在C環境下,變數必須先定義後使用,且聲明或定義必須在任何可執行語句之前。而在for(int count =1; count<=10; ++count)語句中,for屬於可執行語句,所以在C環境不能通過編譯。
I. 同樣的java代碼在我的電腦上編譯沒有問題,但在執行時出現錯誤,在別人的電腦上編譯和執行都沒有問題
檢查你的環境變數中的classpath配置,看看有沒有把加入「.」這個路徑。這個錯誤的原因是jvm找不到你要執行的test.class。
另外給你個規范建議,類名首字母最好要大寫開頭。
J. Java web項目部署到阿里雲Ubuntu伺服器後,提示錯誤:無法編譯jsp文件
Database這個類,沒有把編譯結果.class部署到相應的目錄
~
~
~