基礎c語言程式出錯

2022-02-11 01:49:36 字數 582 閱讀 5409

1樓:弒緋

scanf()在讀取時不檢查邊界,所以可能會造成記憶體洩露。打個比方:分配的是5個位元組,但實際讀入的是10個位元組。

針對這種情況,vs才提供了scanf_s()來替代,可以避免這種情況。但是,你在呼叫時必須提供給scanf_s一個數字以表明讀取多少位字元,用法為

否則,即使ctrl+f7和ctrl+f5通過了,程式的執行結果可能與自己所期望大相徑庭的。

char buf[5]=;

scanf("%s", buf);

scanf_s("%s",buf,5)

如果非要用scanf函式,那麼通過以下兩種方式可以禁止警告:

(1)右擊專案——屬性——c/c++——前處理器——前處理器定義中增加_crt_secure_no_warnings,然後點確定,退出。

(2)在函式最頂頭進行定義:#define _crt_secure_no_warnings,也可以禁止報錯警告。

2樓:匿名使用者

我去,好奇怪啊,,,,,

scanf呢

C語言問題為啥會出錯,c語言執行出錯什麼原因

printf d z printf d z 這樣 c語言執行出錯什麼原因 for i 0,sum 0 i 10 i,sum i 另外main 打錯了 編譯沒有錯是因為你寫的mian函式的語句符合c規範,而連結有錯誤是因為c必須有一個入口函式或叫主函式main 而你這裡卻沒有。編譯沒出錯表明的是語法是...

c語言程式問題,C語言程式問題?

1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...

c語言程式題,C語言程式題

include stdio.h int main max array 0 min array 0 for i 0 i 5 i else if min array i printf the max number of array d,location d n max,index max printf ...