⑴ 編譯程序時出現沒有錯誤但有警告的原因
沒法錯誤是因為編譯器沒有檢查出語法錯誤,有警告是因為有些可能寫的不太規范,有時也是不標准,比如你定義一個變數,但是在程序中沒有使用它,編譯程序時就會警告「定義了沒有使用的變數」,如果你用fopen打開文件,編譯是就會提示「fopen是一個不安全的函數」等等。但是警告一般不會影響程序的正確性。
⑵ 請c語言高手看看下面這個程序哪裡出錯了,編譯後怎麼有一個警告
1)警告的原因是編譯時,編譯器認為p變數沒有賦初值;
2)其實程序中已經在if
else
中對p的初始值進行了處理,但編譯器比較「笨」沒有看出來
3)你可以完全不理會這個警告;
4)如果確實你不想讓編譯器出這樣的警告,在scanf語句前,加上
p
=
0
,
顯式地為p賦初值
⑶ c語言,編譯出現警告了
1)警告的原因是編譯時,編譯器認為p變數沒有賦初值;
2)其實程序中已經在if else 中對p的初始值進行了處理,但編譯器比較「笨」沒有看出來
3)你可以完全不理會這個警告;
4)如果確實你不想讓編譯器出這樣的警告,在scanf語句前,加上 p = 0 , 顯式地為p賦初值
⑷ 用 keil編譯的時候有兩個警告怎麼回事
warning
l15:
multiple
call
to
segment
這個問題必須注意,可能引起程序沖突,假設你用於自動化領域,則可能導致信號產生尖峰。
產生這一警告的一個根源是:你在主循環里調用了一個函數(如aaa),而在中斷服務函數里,你用調用了這個函數(如aaa)。這樣當主循環運行到該函數中是,一旦產生中斷,則在中斷里又再次調用該函數!這時,很可能出錯!
避免這種情況的方法很多:如,在進中斷的時候置需調用該函數的標志,而在主循環中調用該函數
你可以在中斷函數設置標志
flag_display
=
1;
在主函數里判斷這個標志:
if(flag_display)
valuedisplay();
更新後,清除顯示標志:
flag_display
=
0;
⑸ 在C程序中,編譯的時候,出現的那個warning,指的是什麼意思啊急,謝謝啦!
是警告信息,對於本編譯器規則來說,符合編譯規則,但是有些是無意義的,或者大了語法的擦邊球,不完全符合,但是也能用的。大部分可以忽略。有的時候可以設置警告的等級,視編譯器而定。
⑹ C語言編譯警告
void
main(void);函數被定義多次,這么明顯的錯誤肯定是其他.c文件定義了main函數了
另外你的這種寫法完全不符合c99啊
void
main(void)
應該寫成
int
main(void);或者
int
main(char
*argc,char*
argv[])
⑺ 編譯C源程序時得到的警告是什麼意思啊
警告很重要的。比如你聲明一個變數i,但是沒有賦值就進行了計算。這樣編譯是可以通過的,但是它的結果可能是錯誤的,也許是你忘了賦值,所以警告提醒你,在出錯時快速找到出錯的原因。
⑻ 編譯時出現警告,怎麼回事
如上圖所示, 我用Qt5.5 新建的一個項目, 在運行時下面出現警告 ppsjy:[MyHookProc]__read web cfg: success ----- :
PS: 我是在安裝了Qt5.9後出現的這個問題, 之後把Qt5.9和Qt5.5都御載了再安裝Qt5.5 可這個警告還在, 怎麼回事?
你卸載的時候,可能有QT記錄殘留,所以警告還在吧。一般QT的運行配置保存在:C:Users用戶AppDataRoamingQtProject 和 C:Users用戶AppDataLocalQtProject,你可以嘗試把這個文件夾一起刪了試試!
使用vs版本試試
⑼ 單片機ccs編譯程序時出現這種警告,什麼意思
字面上看這個信息的意思,沒給adc10中斷向量指定入口函數,或者說沒有定義adc10的中斷處理程序。
由於沒指定入口函數,一旦發生中斷,程序就會亂跑,後果很嚴重。但如果確定不會發生這個中斷,沒定義入口也沒關系,所以這是個警告。
具體的原因不能確定。可能是沒定義入口函數,也可能定義了,但哪個地方的拼寫有問題,導致系統沒正確識別出來。
⑽ 請問Keil4在編譯的時候老是出現這兩個警告是什麼意思,怎麼解決呢
這是個警告,編譯是沒有問題的,能產生hex文件的,就是你有些函數或者變數聲明或者定義了,但是沒有使用!基本不影響使用的如果要不報這個警告的話就把沒用到的都刪除就好了