我是C的菜鸟。
我的代码:
#include <stdio.h>
int main() {
int M, N, O, P;
printf("Enter the value of M\n");
scanf("%d", &M);
N = 3*M^2;
O = M + N;
P = M + M;
printf("The value of %d \n", M + %d \n", M equals %d \n", P %d \n", N %d \n", O);
return 0;
}
错误:
test.c:在函数'main'中: test.c:9:错误:'%'标记之前的预期表达式 test.c:9:错误:在程序中迷路'\' test.c:9:错误:在程序中隐藏'\'
我无法弄清楚如何正确打印M
,N
,O
,P
的值并与之一起进行测试。
答案 0 :(得分:1)
你的printf应该是这样的:
printf("The value of %d \n equals %d \n %d \n %d \n", M, P, N, O);
您可以在双引号中打印所需的信息,然后您必须认为%d就像您要打印的变量的占位符。
答案 1 :(得分:1)
您似乎混淆了格式化字符串,其中%d和\ n在引号之外。 首先尝试编写整个格式化字符串,然后编写每个参数;像这样:
printf("The value of %d \nM equals %d \nN %d \n", M, P, 0);
每个%d应对应于您要从参数中打印的数字,按顺序给出。
答案 2 :(得分:-1)
你的printf()语句在语法上是不正确的。您应该使用一个格式字符串,后跟要使用格式说明符插入的值。
类似的东西:
printf("The value of M + N equals %d\n", M + N);
您可以使用许多格式说明符(以百分号为前缀的子字符串)或许多printf语句。
请参阅wikipedia以获取解释。