11

このコード スニペットを使用して、2 つの変数を入力として取得しようとしています。

unsigned int i;

unsigned long int j;

scanf("%u",i);

scanf("%lu",j);

しかし、これは次の警告を引き起こします:-

警告: フォーマット '%u' は 'unsigned int *' 型の引数を予期していますが、引数 2 は 'unsigned int' 型を持っています [-Wformat] 警告: フォーマット '%lu' は 'long unsigned int *' 型の引数を予期していますが、引数2 には 'long unsigned int' 型があります [-Wformat] ここで何が起こっているのか説明してもらえますか?

4

1 に答える 1

23

出力パラメーターへのポインターを取得するため、先頭&にを追加する必要があります。そうしないと、それらに書き込むことができません。scanf

scanf("%lu", &i);
于 2012-08-27T18:21:21.393 に答える