scanf
和cin
的利弊:
scanf
:
-
利:耗時短,寫法方便輸入固定格式,比如scanf(“%*d%d”,&a),可以直接忽略第一個輸入,不用創建新對象,再比如scanf(“%1d”,&x[i]),輸入3214,中間沒有空格,但是用for循環輸入%1d,可以每次只截取一個數字來輸入,這樣輸入的就是3,2,1,4數字數組,再比如輸入時間格式YY-MM-DD HH:MM:SS,可以用scanf(“%2d-%2d-%2d %2d:%2d:%2d”,&year,&month,&day,&hour,&mintue,&second)
-
弊:不能輸入string,如果題目簡單沒有時間上的緊迫,寫scanf會比寫cin慢
cin
:
- 利:可以輸入string,string本身的好處就不說了,寫起來快
- 弊:耗時長,耗時長的原因是c++需要向下c兼容,就是你用cin等c++函數,但是編譯器還會預處理scanf等c函數,盡管可以加
ios::sync_with_stdio(0)
;cin.tie(0)
;cout.tie(0)
;手動關閉c的兼容,但是這樣會導致你只能用c++的函數,c的所有函數你都用不了,用了就會re(不會報錯)