我想为intage
使用占位符,但%I或%s不起作用。
这是我的代码:
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int age = get_int("What is your age ?n");
printf("You are %i years old.n");
}
这就是错误:
test1.c:7:22: error: more '%' conversions than data arguments [-Werror,-Wformat]
printf("You are %i years old.n");
~^
1 error generated.
<builtin>: recipe for target 'test1' failed
make: *** [test1] Error 1
您忘记将age
传递给printf
:
printf("You are %i years old.n", age);
/* Here ---------------------------^ */
您需要为每个"%指定要打印的变量i〃;你使用
像这样:
#include <stdio.h>
int main()
{
int x = 9;
int y = 10;
printf("x = %i, y = %i", x, y);
return 0;
}
您也可以将%d用于整数。%s用于字符串。