您好,登錄后才能下訂單哦!
C語言中if與if{}的區別有哪些?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
首先來回顧以下if語句
if(表達式1){
語句1
語句2
……
}
如果表示條件的邏輯表達式的結果不是0,那么就執行后面跟著的這對大括號內的語句;
否則就跳過不執行 繼續下面的其他語句。
但是if語句還有一種形式可以不用{}。
舉個栗子:
if(a > b) a += b + 10;
if語句這一行結束的時候并沒有表示語句結束的";",而后面的賦值語句寫在if的下一行,而且縮進了,在這一行結束的時候有一個分號。
表明這條賦值語句是if語句的一部分,if語句擁有和控制這條賦值語句,決定其是否被執行。
簡單地說就是if(邏輯表達式)后要么跟上"{",要么跟上語句,不能直接寫分號。
if(a > b);
#include <stdio.h> int main() { //初始化 const int STANDARD = 60; int score; printf("請輸入您的分數:"); scanf("%d",&score); printf("\n"); if (score > STANDARD) printf("及格"); printf("恭喜你"); else printf("注意補考時間"); printf("再見"); return 0; }
無大括號的情況下 在https://clin.icourse163.org/在線平臺中 顯示Error
也就是無大括號的情況下只能執行最近鄰的一行語句。
而有大括號的情況下可以執行。
#include <stdio.h> int main() { //初始化 const int STANDARD = 60; int score; printf("請輸入您的分數:"); scanf("%d",&score); printf("\n"); if (score > STANDARD){ printf("及格"); printf("恭喜你"); }else{ printf("注意補考時間"); } printf("再見"); return 0; }
執行結果:
$ cpp main.c -o main.ii
$ cc main.ii -o main
$ ./main
請輸入您的分數:58
注意補考時間再見Program exited with status 0
總結:
有大括號的時候 條件滿足的情況執行所有括號內語句
無大括號的時候 條件滿足執行最近鄰語句
更新:為了程序易讀性還是加上大括號啦~
else一般默認和最近的if匹配 如果不加{}往往會出現誤讀等情況。
看完上述內容,你們掌握C語言中if與if{}的區別有哪些的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。