このコードスニペットを使用して、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]誰かがここで何が起こっているのか説明してくれませんか?
scanf
はpointersを出力パラメーターに取るので、先頭に&
を追加する必要があります。それ以外の場合は、それらに書き込むことができません。
scanf("%lu", &i);