看板 TFSHS68th321 關於我們 聯絡資訊
※ 引述《crazyma (ma)》之銘言: : 不是問腐C : 是要認真問問題XDD : 本人直接學C++ 沒學過C : 雖然大家都說兩個很像但還是有點差異 : 想問一下C裡面 : print、printf、println、fprintf...等等的用法還有差異 : 在C++裡面只要cout就解決一切...所以上述東西都不太了解 : 麻煩知道的人教我一下吧 : 感恩 <(_ _)> 先說,我很弱 cin cout雖然沒有型態轉換上的問題 但是效率比較低(畢竟必須去判斷你是字元還是數字,數字是double還是int...等) 我喜歡這樣比喻 cin cout就相當於自排車,方便好開 printf scanf是手排車,你看過F1有人開自排的嗎? 為了發揮最大效益,選擇比較麻煩的型式 而這麻煩還不是普通的麻煩orz 舉例來說,如果我需要先讀一個數字代表陣列大小 再來開始吃字元 C++ style: int index=0,i; const int size=10; char array[size]; cin>>index; for(i=0;i<index;i++) cin>>array[i]; C style int index=0,i; const int size=10; char array[size]; //重點來了,這邊寫法很多元 //寫法1 scanf("%d ",&index); // ^^^請注意這個空白,用來吃\n用的,不然會被array[0]吃到 for(i=0;i<index;i++) scanf("%c",&array[i]); //寫法2 scanf("%d",&index); char garbage; scanf("%c",&garbage);//吃掉輸入完index以後的換行,不然會被array[0]吃到 for(i=0;i<index;i++) scanf("%c",&array[i]); //寫法3 scanf("%d",&index); fflush(stdin); for(i=0;i<index;i++) scanf("%c",&array[i]); //注意,寫法三不能使用在ACM、測資丟console的情況 //因為fflush會清掉buffer裡面所有的字元 //詳細情形你有興趣再問我 我還記得我們助教曾經說過 「如果沒必要的話就用C++的input/output format吧, 這樣可以多活幾年壽命orz...」 不過真的搞懂了,其實真的很好用 格式活了 很多題目的需求不需要再依賴函式去完成 一個scanf/printf就全部幹掉 你有什麼問題 再問我吧 如果我有能力回答的話... 這學期修了一個德國回來的教授的課,學到了非常多東西... 算是有成長了吧... -- ◢▅▇◣▉ ◣ ﹨ ∥∥ ∕ ▉ ◥ ▊★ ◢◤ ◥▇▆▅▆▇◤ ╲◢‥‥◥ ◥◣ ▊▊▊ ◥◤▉▅◣◢▆◣ ▊ '╴‥╴'══Craig ◥◣ ▋▋ ▇◤◣ ▊ ▉ ▊ ▉ ▋ ' / '══ █ ▋▍▋ ◥◣ ▌◥▆◤ ▋ '﹏﹏﹏'══◤ ◤◤▌ ◣ ◢◣ ψcafelife -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.195.186
justforfree:話說現在F1都是自手排(驚) 04/10 01:01
MoseHas:重點還是要手排啊 有可能純手排但是不可能純自排 04/10 01:02
crazyma:你還是沒有告訴我print的用法,我只是想知道怎麼用c做Cout. 04/10 01:06