C語言中if語句加大括號和不加大括號的區(qū)別介紹
首先來回顧以下if語句
if(表達(dá)式1){
語句1
語句2
……
}
如果表示條件的邏輯表達(dá)式的結(jié)果不是0,那么就執(zhí)行后面跟著的這對大括號內(nèi)的語句;
否則就跳過不執(zhí)行 繼續(xù)下面的其他語句。
但是if語句還有一種形式可以不用{}。
舉個(gè)栗子:
if(a > b) a += b + 10;
if語句這一行結(jié)束的時(shí)候并沒有表示語句結(jié)束的";",而后面的賦值語句寫在if的下一行,而且縮進(jìn)了,在這一行結(jié)束的時(shí)候有一個(gè)分號。
表明這條賦值語句是if語句的一部分,if語句擁有和控制這條賦值語句,決定其是否被執(zhí)行。
簡單地說就是if(邏輯表達(dá)式)后要么跟上"{",要么跟上語句,不能直接寫分號。
if(a > b);
#include <stdio.h>
int main() {
//初始化
const int STANDARD = 60;
int score;
printf("請輸入您的分?jǐn)?shù):");
scanf("%d",&score);
printf("\n");
if (score > STANDARD)
printf("及格");
printf("恭喜你");
else
printf("注意補(bǔ)考時(shí)間");
printf("再見");
return 0;
}
無大括號的情況下 在https://clin.icourse163.org/在線平臺(tái)中 顯示Error
也就是無大括號的情況下只能執(zhí)行最近鄰的一行語句。
而有大括號的情況下可以執(zhí)行。
#include <stdio.h>
int main() {
//初始化
const int STANDARD = 60;
int score;
printf("請輸入您的分?jǐn)?shù):");
scanf("%d",&score);
printf("\n");
if (score > STANDARD){
printf("及格");
printf("恭喜你");
}else{
printf("注意補(bǔ)考時(shí)間");
}
printf("再見");
return 0;
}
執(zhí)行結(jié)果:
$ cpp main.c -o main.ii
$ cc main.ii -o main
$ ./main
請輸入您的分?jǐn)?shù):58
注意補(bǔ)考時(shí)間再見Program exited with status 0
總結(jié):
- 有大括號的時(shí)候 條件滿足的情況執(zhí)行所有括號內(nèi)語句
- 無大括號的時(shí)候 條件滿足執(zhí)行最近鄰語句
更新:為了程序易讀性還是加上大括號啦~
else一般默認(rèn)和最近的if匹配 如果不加{}往往會(huì)出現(xiàn)誤讀等情況。
到此這篇關(guān)于C語言中if語句加大括號和不加大括號區(qū)別的文章就介紹到這了,更多相關(guān)C語言 if語句加和不加大括號區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實(shí)現(xiàn)數(shù)獨(dú)程序的示例代碼
數(shù)獨(dú)是源自瑞士的一種數(shù)學(xué)游戲。是一種運(yùn)用紙、筆進(jìn)行演算的邏輯游戲。本文將利用C語言實(shí)現(xiàn)數(shù)獨(dú)程序,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
C++類結(jié)構(gòu)體與json相互轉(zhuǎn)換
這篇文章主要介紹的是C++類結(jié)構(gòu)體與json相互轉(zhuǎn)換,json字符串一般使用的是開源的類庫Newtonsoft.Json,方法十分簡潔,下面就隨小編一起看下面文章內(nèi)容吧2021-09-09
關(guān)于memcpy和memmove的一點(diǎn)重要說明
下面小編就為大家?guī)硪黄P(guān)于memcpy和memmove的一點(diǎn)重要說明。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12

