天天看點

我的程式設計易錯點總結

  • if(!bval) —– 一般變量為bool值才用; if(0 == ival) —– 數值一般不直接取非
  • return errno —– 傳回錯誤值,errno在errno.h中
  • if内嵌套for —– 比反過來高效率
  • 對函數每個傳回值都做判斷
  • scanf接收%d時輸入字元,字元會一直在緩存中,無法清除,可能是以造成死循環!用 fflush(stdin) 在linux無效,官方隻定義了對 stdout 的清除。可以用getchar()接收直至’\n’的出現,達到清除作用。
  • windows下文本換行以\r\n結尾,而linux下換行以\n結尾,可能是以會造成莫名的錯誤。

繼續閱讀