私はCを初めて使用します。次のプログラムの場合、問題は次のとおりです。入力する整数が何であれ、出力は1です。問題がどこにあるか教えてください。
#include <stdio.h>
int main(void)
{
int n;
n = scanf("%d", &n);
printf("%d\n", n);
}
私はCを初めて使用します。次のプログラムの場合、問題は次のとおりです。入力する整数が何であれ、出力は1です。問題がどこにあるか教えてください。
#include <stdio.h>
int main(void)
{
int n;
n = scanf("%d", &n);
printf("%d\n", n);
}
の戻り値を出力しているためですscanf()
。scanf()は、正常にスキャンされた値の数を返します。
行を変更します。
n = scanf("%d", &n);
に:
scanf("%d", &n);
または、入力が成功したかどうかを確認する場合は、別の変数を使用します。
if (scanf("%d", &n)! = 1 ) {
/* Input failure */
}
scanf
読み取られた有効な値の数を返します。あなたの例では、最初に値が読み込まれ、入力として有効な整数を入力する限り、n
その戻り値scanf
は常に現在の実装にあります。1
scanf()
正常に読み取られたアイテムの数を返します。したがって、に割り当てるとn
、n
1 が含まれます (整数がエラーなしで読み取られる場合)。
全体として:コードを次のように変更します
scanf("%d", &n);
Cに関する良い本を読んでください。
あなたのエラーは
n = scanf( "%d"、&n);
に変更します
scanf("%d", &n);
それなら大丈夫なはずです