错误:在'%'之前的预期表达式代币

时间:2017-03-04 16:56:20

标签: c string printing compiler-errors representation

我不确定这行代码中导致此错误的原因

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

错误表明"在'%'之前的预期表达令牌"但是我不确定哪个字符串表示形式或"%"它也是指它。

1 个答案:

答案 0 :(得分:0)

错误的双引号。没有格式字符串,因为(之后的第一个字符不是",而是%

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

正如BLUPIXY正确指出的那样,您还应避免将地址&b&c打印为%d的整数。如果你真的想要打印地址,你必须使用%p和ptr-to-void,即:

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

查看a,b和c的声明会很有帮助。