1樓:邵獻
if和else後面的程式體語句要用大括號括起來。否則,編譯器只認緊跟在if,else後的第一條語句是與它們有關的,再往後的就被當成是與if,else無關的語句了。
2樓:匿名使用者
應當把屬於條件語句的多個語句用大括弧引起來.
程式應當寫做:
while ( a>0 )
else
a--;
}由於條件是否滿足都要列印,程式也可以寫成:
while ( a>0 )
3樓:匿名使用者
else 只和他最近未配對的if來配對使用,建議你這樣的格式:
if(...)
else
規範的格式看起來清晰瞭然,要不然一大堆**在一起看不清楚,也容易引起誤解。
在c語言程式中if-else語句的else語句總是不執行是怎麼回事
4樓:一棵無所不知的小白菜
1、新建一個工程和檔案,命名為third和first.c , 然後書寫好程式的模板結構。
2、首先我們演示一個很不規範的**寫法,很多初學者容易寫成這樣,導致出現意想不到的執行結果。
3、很多初學者就會不知所措,其實只要把**按照正確的縮排方式書寫,就可以很一目瞭然了。
4、這樣書寫過之後,就很清楚了,如果覺得還不夠清楚的話,再將**寫的更加規範一點,那就成為下面的樣子了。
5、if-else的巢狀結構中,else跟if進行配對,通過演示得到結果。
5樓:
不執行的原因可能是if的判斷總為true,看看你是不是把表示相等關係的‘==’寫成了賦值運算子‘=’
6樓:匿名使用者
1.如果if條件成立,當然不會執行else子句。而會執行if子句2.
如果誤將if條件中的相等操作符==誤寫成了賦值號=,而且=後面的值不是0,那麼這個條件將一直成立,所以不會執行else子句
3.如果else後面有多條執行語句,而又沒有加上括號,那麼當if條件不成立時只會執行else後面的第一條語句,其它的語句不在else範圍內,不管條件是否成立,它們都會執行。
4.如果根本沒有else子句,那麼...
7樓:匿名使用者
我覺得如果像樓上兩位說的那樣,在程式編譯時會給出警告的.你的if表示式下的所有語句應用{}起來,然後,把if()中寫一個"0"即
if(0)
{}else
{}這時else後的指定執行.那麼你在看一下你的if()中的表示式那有問題.
8樓:
if 的條件有問題,條件總是真的,則總是執行if而不執行else
例如:if (a=1) 你本來可能像寫a==1 ,結果少個等號,出錯,此條件永遠為真,else永不執行
在c語言程式中if else語句的else語句總是不執行是怎麼回事
一棵無所不知的小白菜 1 新建一個工程和檔案,命名為third和first.c 然後書寫好程式的模板結構。2 首先我們演示一個很不規範的 寫法,很多初學者容易寫成這樣,導致出現意想不到的執行結果。3 很多初學者就會不知所措,其實只要把 按照正確的縮排方式書寫,就可以很一目瞭然了。4 這樣書寫過之後,...
c語言if語句,c語言if語句
沒明白你的意思,是指輸入一個數,求1到這個數的階乘的和嗎?include stdio.h void main printf ld s 如果是這個意思的話,那大概這樣沒問題,你試一下,看是不是你想要的。include define i 20 main printf en f n en include ...
C語言之FOR語句,C語言for語句問題?
因為你主程式的後半個大括號沒打,所以系統自動找到兩個for語句之後的那個大括號當程式結束,既然這樣,那兩個for語句之間的那個大括號自然因為沒有後半個而變成多餘的,也就出現了錯誤。另外,你的程式裡還有一些錯誤。修改後程式 main int i,j printf array a for i 0 i 1...