2012-03-02 21 views
0

私は、ユーザー入力から行列の値、行および列を取得したいと考えています。だから私はこれを行うにはdo whileを実装しています: これが行のみのためである:ユーザーCから入力整数を取得する方法

do { 
     printf ("Inserisci il numero di righe (intero-positivo-diverso da 0): "); 
     scanf ("%d",&righe); 
    } while (righe<=0); 

私は整数のみを挿入し、そのユーザーを確認したいです。私に何ができる?

答えて

0

を探しています。あなたが望むことを行う正しい方法です...

1

戻り値scanf()をチェックすると、変換された文字列の数が返されます。値が!= 1の場合、入力は整数に変換できません。

参考:scanf

2

scanfは、それが正常に読み込まどのように多くの "もの" を示す整数を返します。条件付きでこれをテストして、探しているものがあるかどうかを調べることができます。例:

const int result = scanf ("%d",&righe); 
if (1 != result) { 
    /* didn't get the 1 input we were looking for, do something about it! */ 
} 

あなたはEOFと単純に整数ではなく区別したいと思うでしょう。

0

あなたはあなたのコードが正しいこの ctype.h

関連する問題