# 3.2 關於 if 敘述大括號的使用

## 內容只有一行時可以省略大括號

`if...else if...else` 的大括號內如果只有一行時，可以省略大括號。

所以前面範例練習的內容可以寫成這樣。

###### 練習：絕對值

```C++
#include <iostream>

using namespace std;

int main()
{
    int a;
    
    cin >> a;
    
    if(a<0)
        a = -1*a;
    
    cout << "|a|=" << a << endl;

    return 0;
}
```

###### 練習：判斷奇、偶數

```C++
int a;
cin >> a;

if(a%2==1)
    cout << "奇數" << endl;
else
    cout << "偶數" << endl;
```

但並不建議同學們這樣做，因為這樣有時會難以閱讀而造成意外的錯誤，不如老老實實的都加上大括號。

例如：下面這段程式碼就很難清楚理解，事實上是有錯誤的。

###### 練習：是否需服兵役

```C++
string gender;
cout << "性別(男, 女):";
cin >> gender;

int age;
cout << "年齡:";
cin >> age;

if(gender=="男")
    cout << "你是男生，";
    if(age>=20)
        cout << "需要當兵" << endl;
  	else
        cout << "但是年紀太小，還不用當兵" << endl;
else
    cout << "你是女生，不用當兵" << endl;

```

## 兩種常見的大括號使用風格

#### 風格一：左右括號都單獨佔一行

```C++
int a;
cin >> a;

if(a%2==1)
{
    cout << "奇數" << endl;
}
else
{
    cout << "偶數" << endl;
}
```

#### 風格二：左括號放在行末

```C++
int a;
cin >> a;

if(a%2==1) {
    cout << "奇數" << endl;
}
else {
    cout << "偶數" << endl;
}
```

這兩種撰寫風格都很常見，同學們可以自行選擇。唯一的提醒就是 **務必要正確的縮排**。

<link rel=stylesheet type="text/css" href="https://nlmoodle.ddns.net/css/h.css">