2017-03-04 7 views
1

私はこのコード行でこのエラーを引き起こしているかわからないんだけどエラー:期待表現トークン「%」の前に

printf(%d=12 * %d + %d "\n", a, &b, &c); } 

「『%』トークンの前に式を予想」エラー状態が、私はどの文字列表現か "%"もその参照を確認していません。

+0

SOに投稿すると、コードが間違っていることがわかります。フォーマット文字列は2色です。 –

答えて

0

二重引用符が間違っています。 (の後の最初の文字は"ではなく、%なので、フォーマット文字列はありません。

printf("%d=12 * %d + %d\n", a, b, c); 

BLUPIXYが正しく指摘するように、あなたはまた、印刷アドレス&b%dと整数として&cを避けるべきです。あなたが本当に住所を印刷したい場合は、すなわち、この、PTR-にボイドと%pを使用する必要があります。

printf("%d=12 * %p + %p\n", a, (void *)&b, (void *)&c); 

a、b及びcの宣言を見て参考になります。

+2

おそらく '&' – BLUEPIXY

+1

'%d'はポインタではなく' int'を必要とします(もしポインタならUB、そうでしょうか?)。 – BLUEPIXY

+1

しかし、私はこの質問が答えに値するか分からない。それは単にタイプミスです。 –

関連する問題