我不确定这行代码中导致此错误的原因
printf(%d=12 * %d + %d "\n", a, &b, &c); }
错误表明"在'%'之前的预期表达令牌"但是我不确定哪个字符串表示形式或"%"它也是指它。
答案 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的声明会很有帮助。