這裡積累一些日常程式設計用得比較少的知識,不斷添加。
- scanf("%c%*c%c",&a,&b); 其中的*表示跳過,本來輸入三個數字,結果中間那個讀入後被抛棄,a和b的值分别是第一次和第三次輸入的值。
- printf("%d%*d%d",a,b,c,d); 其中*表示占位,相當于printf("%d%bd%d",a,b,c,d);注意這裡的b就相當于我們平時用的占位數。
- printf("%#x",a); 其中#表示格式化的字首,比如十六進制會加上0x,八進制會加上0。
- c++ std::cin關閉同步流:std::ios::sync_with_stdio(false); 可以使其與scanf讀取速度相差不太大(關閉同步流之後,不要同時混用cout和printf );進一步可以使用std::cin.tie(0);解除cin和cout的綁定。這種做法通常用于減少大量資料占用的IO時間,但是本人測試過,有一些個例的資料量在萬以上時,兩者差距仍然在5倍以上(個例參見敵兵布陣問題)。
『注:本文來自部落格園“小溪的部落格”,若非聲明均為原創内容,請勿用于商業用途,轉載請注明出處http://www.cnblogs.com/xiaoxi666/』