#include <stdio.h>
int main() {
int i;
printf("%d",scanf("%d",&i));// > What does this explain
return 0;
}
它每次都返回1。怎麼樣?爲什麼總是返回一個?
#include <stdio.h>
int main() {
int i;
printf("%d",scanf("%d",&i));// > What does this explain
return 0;
}
它每次都返回1。怎麼樣?爲什麼總是返回一個?
您正在打印返回值scanf()
- 它返回格式化的項目數。
嘗試:
#include <stdio.h>
int main() {
int i;
scanf("%d", &i);
printf("%d", i);
return 0;
}
正如一位網民所提到的,但是,你應該看看了他們對這些功能的文檔和實驗,而不是立即不禁要問上的東西很容易回答的問題。看看這個網站:http://www.cplusplus.com/reference/cstdio/scanf/
scanf()
返回成功匹配和分配的輸入項的數量,可以少於規定的數量,或者在發生早期匹配失敗的情況下甚至爲零。
如果在第一次成功轉換或發生匹配失敗之前達到輸入的結尾,則會返回值EOF。如果發生讀取錯誤,EOF也會返回,在這種情況下,流的錯誤指示符(請參閱ferror(3))已設置,並且設置errno表示錯誤。
什麼是scanf返回?這就是打印。爲了好玩,在格式字符串中添加其他內容,它會奇蹟般地打印2. –
c中scanf函數返回的值https://stackoverflow.com/questions/10469643/value-returned-by-scanf-function-in- c – inferno
請閱讀***返回值部分:https://linux.die.net/man/3/scanf –