2017-07-20 9 views
-9
#include <stdio.h> 

int main() { 
    int i; 
    printf("%d",scanf("%d",&i));// > What does this explain 

    return 0; 
} 

毎回1を返します。どうやって?これはいつも1を返すのですか?

+0

scanfは何を返しますか?それが印刷されます。楽しく、フォーマット文字列に何かを追加すると、魔法のように2が出力されます。 –

+0

scanf関数の戻り値は、https://stackoverflow.com/questions/10469643/value-returned-by-scanf-function-in- c – inferno

+2

***返値***のセクションを読んでください。https://linux.die.net/man/3/scanf –

答えて

0

返される値はscanf()です。これは、書式設定された項目の数を返します。

試してみてください。他のコメンターが述べたように

#include <stdio.h> 

int main() { 
    int i; 
    scanf("%d", &i); 
    printf("%d", i); 
    return 0; 
} 

、しかし、あなたはすぐに答えるのはそう簡単では何かに助けを求めるのではなく、彼らと、これらの機能に関するドキュメントや実験を調べる必要があります。このウェブサイトを見てみましょう:http://www.cplusplus.com/reference/cstdio/scanf/

1

scanf()復帰のために提供、あるいはゼロの早期マッチングに障害が発生した場合に比べて少なくすることができ、正常に一致し、割り当てられた入力項目の数、。

最初の変換が成功するか、一致するエラーが発生する前に入力の終了に達すると、値EOFが返されます。読み取りエラーが発生した場合は、EOFも返されます。この場合、ストリームのエラーインジケータ(ferror(3)を参照)が設定され、エラーを示すerrnoが設定されます。

男をお読みください:https://linux.die.net/man/3/scanf

関連する問題