眾所周知,分號在c語言中的作用是作為一條語句結束的標識,在c程式中如果不小心多寫了乙個分號可能不會造成什麼不良後果:這個分號也許會被視作乙個不會產生任何實際效果的空語句。但是如果在if或者while語句後面緊跟一條語句時,如果此時在if或者while語句之後多加了乙個分號的話,將會產生意想不到的後果。如下所示:
if(a>b);
a=b;
該程式作者的意圖本來是當a大於b時,將b的值賦給a,然而由於if語句後多了乙個分號,後面的語句a=b就和if語句沒有任何關係了,也就是在任何情況下b的值都會賦給a,即使aif(a<3)
return
b=c;
此處return後面遺漏了乙個分號;然而這段程式**仍然會順利通過編譯而不會報錯,這是因為在c語言中一句**的結束標誌並不是換行符而是分號;即return和下面一行的b=c;才是一條真正的c語句,其相當於
if(a<3)
return b=c;(順便提一句此時返回的是c的值,而不是有些人認為的1.。。。。。。。。。。。。。)
相信通過上面的講解大家對於分號的認識一定相當深刻了。。。
C語言結束標誌分號的作用
眾所周知,分號在c語言中的作用是作為一條語句結束的標識,在c程式中如果不小心多寫了乙個分號可能不會造成什麼不良後果 這個分號也許會被視作乙個不會產生任何實際效果的空語句。但是如果在if或者while語句後面緊跟一條語句時,如果此時在if或者while語句之後多加了乙個分號的話,將會產生意想不到的後果...
C語言讀取不到檔案的結束標誌EOF的解決方法
使用c語言判斷乙個檔案的行數 用到如下的 發現讀到最後一行就會出現死迴圈,一直讀不到檔案的eof標誌,將getc函式的返回值型別改為int型別 也就是將下面的第4行中的char改為int即可 就可以順利的判斷eof的標誌了。查閱資料得知,eof為整型,不是字元型。static int testfun...
C語言 while後接分號「 」的用法
菜雞自學 時刻注意while後是否有分號 不要被迷惑!while 不帶分號 時 int y 10 int sum 0 while y 13 printf ny d sum d y,sum while 與下面大括號內的迴圈體構成乙個整體。y 11 sum 1y 12 sum 2y 13 sum 3y ...