- 52 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 04:24:30 ]
- www9.plala.or.jp/sgwr-t/c/sec07.html
> scanf()で読み込み不一致が起こる問題では、上記 「atoi()、atol()、atof()」を使って回避します。 > 読み込み不一致は、scanf()を for や while などのループの中で用いた場合、入力バッファに > 残されたデータを永遠に受け付けないため無限ループになってしまい意外に深刻な問題となります。 > そのためデータを一旦、scanf("%s", ○)や gets()を用いて文字列として入力し、それから上記の > 変換関数を用いて期待するデータ型に変換するのです。 int i = 0; char a[20]; while(i != -1) { printf("整数値を入力してください(終了条件:-1)\n"); scanf("%s", a); i = atoi(a); }
|

|