簡體   English   中英

當我向scanf(“%d”,&var)輸入字符串“ abcd”時,會發生什么?

[英]What exactly happens when I input a string “abcd” to scanf(“%d”, &var)?

輸入一個字符串到

scanf("%d",&var) returns 0.

還有一個類似的問題在這里 ,但沒有提供什么內部發生的解釋。 提供的是一種處理這種情況的方法。

GCC如何精確處理傳遞給scanf(“%d”,&var)的字符串,在這種情況下為什么返回值為0?

成功完成后, scanf將返回成功匹配和分配的輸入項的數量; 如果早期匹配失敗,此數字可以為零。

在看到%d格式字符串時, scanf需要一個int類型的數據。 當您輸入字符串代替intscanf開始讀取輸入,看到字符時停止讀取並返回0

成功時,該函數返回已成功填充的參數列表的項目數。 因此,如果您不鍵入數字,則讀取的項目數將為0。

有關更多信息,請參考http://www.cplusplus.com/reference/cstdio/scanf/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM