報錯原因:
使用scanf,printf讀寫字符串的時候,會出現越界的情況。
比如,你定義了一個char [5]的字符串,但你卻用scanf輸入了一個20長度的字符串, 依然能輸入成功,超出的部分就會越界覆蓋不屬於自己的數據。printf也類似,它是因爲C風格的字符串以'\0'爲終止字符,如果字符串中不存在‘\0’,它也會越界輸出到‘\0’。
解決方案:
方案一:使用printf_s....等函數替換,增加一個長度控制參數。
方案二:關閉編譯器的SDL檢查。
在解決方案資源管理器中鼠標右鍵項目——屬性——C/C++——常規——SDL檢查——改爲否。