<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 練習12:If,Else If,Else > 原文:[Exercise 12: If, Else-If, Else](http://c.learncodethehardway.org/book/ex12.html) > 譯者:[飛龍](https://github.com/wizardforcel) `if`語句是每個編程語言中共有的特性,包括C語言。下面是一段代碼,使用了`if`語句來確保只傳入了一個或兩個命令行參數: ```c #include <stdio.h> int main(int argc, char *argv[]) { int i = 0; if(argc == 1) { printf("You only have one argument. You suck.\n"); } else if(argc > 1 && argc < 4) { printf("Here's your arguments:\n"); for(i = 0; i < argc; i++) { printf("%s ", argv[i]); } printf("\n"); } else { printf("You have too many arguments. You suck.\n"); } return 0; } ``` `if`語句的格式為: ```c if(TEST) { CODE; } else if(TEST) { CODE; } else { CODE; } ``` 下面是其它語言和C的差異: + 像之前提到的那樣,`TEST`表達式值為0時為`false`,其它情況為`true`。 + 你需要在`TEST`周圍寫上圓括號,其它語言可能不用。 + (只有單條語句時)你并不需要使用花括號`{}`來閉合代碼,但是這是一種非常不好的格式,不要這么寫。花括號讓一個分支的代碼的開始和結束變得清晰。如果你不把代碼寫在里面會出現錯誤。 除了上面那些,就和其它語言一樣了。`else if`或者`else`的部分并不必須出現。 ## 你會看到什么 這段代碼非常易于運行和嘗試: ```sh $ make ex12 cc -Wall -g ex12.c -o ex12 $ ./ex12 You only have one argument. You suck. $ ./ex12 one Here's your arguments: ./ex12 one $ ./ex12 one two Here's your arguments: ./ex12 one two $ ./ex12 one two three You have too many arguments. You suck. $ ``` ## 如何使它崩潰 使這段代碼崩潰并不容易,因為它太簡單了。嘗試把`if`語句的測試表達式搞亂: + 移除`else`部分,使它不能處理邊界情況。 + 將`&&`改為`||`,于是你會把“與”操作變成“或”操作,并且看看會發生什么。 ## 附加題 + 我已經向你簡短地介紹了`&&`,它執行“與”操作。上網搜索與之不同的“布爾運算符”。 + 為這個程序編寫更多的測試用例,看看你會寫出什么。 + 回到練習10和11,使用`if`語句使循環提前退出。你需要`break`語句來實現它,搜索它的有關資料。 + 第一個判斷所輸出的話真的正確嗎?由于你的“第一個參數”不是用戶輸入的第一個參數,把它改正。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看