次の文の「変換された値ごとに」とはどういう意味ですか?
Q: 通話が機能しないのはなぜ
scanf("%d", i)ですか?A: 渡す引数
scanfは常にポインターでなければなりません:変換された各値に対して、scanf は、ポインターを渡した場所の 1 つを埋めることによってそれを「返します」。(質問 20.1も参照してください。) 上記のフラグメントを修正するには、 に変更しscanf("%d", &i)ます。
scanf()1 回の呼び出しで複数の値をスキャンできます。例えば:
int numConverted = scanf("%d %f %d", &myInt1, &myFloat, &myInt2);
注: ただし、戻り値を常に調べて、実際に変換された数を確認する必要があります。
scanf("%d", &i)inputで実行すると123、文字シーケンス123は値に変換され、intに格納されiます。
これは、キャストによって指定される型変換ではありませんが、「変換」と呼ぶのが妥当です。