課程
/后端開發
/C
/C語言入門
沒有加 %s 輸出看起來也沒有錯誤,這個 %s 是都可以省略的嗎還是說有哪里錯了但不影響運行呢?
2015-03-02
源自:C語言入門 4-4
正在回答
都沒有錯。
printf的第一個參數就是一個字符串,會被打印出來,只不過如果這個字符串中有帶%號的格式化指示,那么就會把后面的參數按照%的指示打印在相應的位置上,這就是所謂的“格式化輸出”。
如果你只是單純地想要輸出一個字符串,可以直接寫在第一個參數中(后面的參數就不用寫了)。大家入門C語言時的那個hello world不就是直接寫在printf中的嘛。
要注意:這樣的話,你的這個字符串中不能有%這樣的格式化輸出指示符。因為如果有的話printf就會去找后面的參數試圖打印它們,顯然就錯了。
所以,把printf的第一個參數寫成%s、把想要輸出的內容寫在第二個參數上是種很"安全"的做法,可以避免上面的問題。 不過在實踐中如果你要輸出的內容很簡單,當然是可以直接寫出來的。
紅磚 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答請教一個小問題
1 回答請教一個小問題……
3 回答初學,教教我啊
4 回答求教一個小問題
1 回答一個問題請教
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-03-03
都沒有錯。
printf的第一個參數就是一個字符串,會被打印出來,只不過如果這個字符串中有帶%號的格式化指示,那么就會把后面的參數按照%的指示打印在相應的位置上,這就是所謂的“格式化輸出”。
如果你只是單純地想要輸出一個字符串,可以直接寫在第一個參數中(后面的參數就不用寫了)。大家入門C語言時的那個hello world不就是直接寫在printf中的嘛。
要注意:這樣的話,你的這個字符串中不能有%這樣的格式化輸出指示符。因為如果有的話printf就會去找后面的參數試圖打印它們,顯然就錯了。
所以,把printf的第一個參數寫成%s、把想要輸出的內容寫在第二個參數上是種很"安全"的做法,可以避免上面的問題。 不過在實踐中如果你要輸出的內容很簡單,當然是可以直接寫出來的。