C語言中if語句加大括號和不加大括號的區(qū)別介紹
首先來回顧以下if語句
if(表達式1){
語句1
語句2
……
}
如果表示條件的邏輯表達式的結果不是0,那么就執(zhí)行后面跟著的這對大括號內的語句;
否則就跳過不執(zhí)行 繼續(xù)下面的其他語句。
但是if語句還有一種形式可以不用{}。
舉個栗子:
if(a > b) a += b + 10;
if語句這一行結束的時候并沒有表示語句結束的";",而后面的賦值語句寫在if的下一行,而且縮進了,在這一行結束的時候有一個分號。
表明這條賦值語句是if語句的一部分,if語句擁有和控制這條賦值語句,決定其是否被執(zhí)行。
簡單地說就是if(邏輯表達式)后要么跟上"{",要么跟上語句,不能直接寫分號。
if(a > b);
#include <stdio.h>
int main() {
//初始化
const int STANDARD = 60;
int score;
printf("請輸入您的分數(shù):");
scanf("%d",&score);
printf("\n");
if (score > STANDARD)
printf("及格");
printf("恭喜你");
else
printf("注意補考時間");
printf("再見");
return 0;
}
無大括號的情況下 在https://clin.icourse163.org/在線平臺中 顯示Error
也就是無大括號的情況下只能執(zhí)行最近鄰的一行語句。
而有大括號的情況下可以執(zhí)行。
#include <stdio.h>
int main() {
//初始化
const int STANDARD = 60;
int score;
printf("請輸入您的分數(shù):");
scanf("%d",&score);
printf("\n");
if (score > STANDARD){
printf("及格");
printf("恭喜你");
}else{
printf("注意補考時間");
}
printf("再見");
return 0;
}
執(zhí)行結果:
$ cpp main.c -o main.ii
$ cc main.ii -o main
$ ./main
請輸入您的分數(shù):58
注意補考時間再見Program exited with status 0
總結:
- 有大括號的時候 條件滿足的情況執(zhí)行所有括號內語句
- 無大括號的時候 條件滿足執(zhí)行最近鄰語句
更新:為了程序易讀性還是加上大括號啦~
else一般默認和最近的if匹配 如果不加{}往往會出現(xiàn)誤讀等情況。
到此這篇關于C語言中if語句加大括號和不加大括號區(qū)別的文章就介紹到這了,更多相關C語言 if語句加和不加大括號區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

