0
を入力したときに、私は2つの入力を入力するようユーザーに尋ねる入力scanf関数を終了、ユーザーのプレスは、例えば
int x,y;
scanf("%d %d",&x,&y);
私は、ユーザが一つだけの入力を入力して(\ n)をEnterキーを押す場合はケースを必要とし プログラムは言う必要があります入力の不足数
どのような提案?
を入力したときに、私は2つの入力を入力するようユーザーに尋ねる入力scanf関数を終了、ユーザーのプレスは、例えば
int x,y;
scanf("%d %d",&x,&y);
私は、ユーザが一つだけの入力を入力して(\ n)をEnterキーを押す場合はケースを必要とし プログラムは言う必要があります入力の不足数
どのような提案?
既存のコードでは、両方の値を単一のscanf文で指定することはできません。次のようなものが試されます:
void main(){
int a;char b;
printf("Enter two values\n");
scanf("%d",&a);
top:
scanf("%c",&b);
if(b=='\n'){
printf("Missing value\n");
goto top;
}
printf("I got all values");
}
'scanf()'の代わりに 'fgets()'を使います。 – chux
'scanf'だけではこれを行うことはできません。 (これは 'scanf'ではできないことがたくさんあることが分かります)あなたがしたいこと - もう少し仕事ですが、無限に優れた柔軟性とエラーキャッチ可能性という点でうまくいきます - 'fscanf'などを使ってテキスト行*をテキスト行として読み込み、行を検査したり、フィールドに分解したり、何らかの形で解析したりすることです。時には、 'sscanf'は行を解析するためのまともな方法です。 http://stackoverflow.com/questions/36921431/c-fscanf-input-validationも参照してください。 –