6

を使用してプログラムを作成しCています。コードに次の行があります。

scanf("%s", &path);

ソース ファイルをコンパイルすると、次の警告が表示されます。

main.c:84:2: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[64]’ [-Wformat]

そして、これはpath変数の宣言です:

char path[64];

このエラーが表示されるのはなぜですか? どうすれば解決できますか?

4

3 に答える 3

4

フォーマット指定子には、へのポインタである を%s指定する必要があります。配列へのポインタであるを渡しています。配列の最初の要素へのポインタとして評価されます( と同じ)。char *char&pathpath&path[0]

于 2013-10-18T00:30:14.107 に答える