我正在尝试为下一学期的课程学习C,并在python中有背景知识。我想使用printf()打印多个参数,包括字符串和各种数据类型对象。我的代码如下:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
short int x = 1;
unsigned short int y = 2;
printf("Short int x: %", x);
printf("Unsigned short int y: %", y);
}
我正在使用带有CDT插件的Eclipse,没有二进制文件或任何问题。
我查找了printf()的手册页但是遇到了%的问题。符号。有人可以详细说明printf的功能。
谢谢。
答案 0 :(得分:4)
与Python不同,%
运算符仅用作格式说明符,而不是字符串和参数之间的分隔。
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
short int x = 1;
unsigned short int y = 2;
printf("Short int x: %d ", x);
}
答案 1 :(得分:2)
使用C标准库:
#include <cstdio>
int main() {
short int x = 1;
unsigned short int y = 2;
std::printf("Short int: %hi \n Unsigned short int: %hu \n", x, y);
return 0;
}
格式字符串必须与变量类型相对应,并且还指示应如何格式化。 %hi
用于short int
,%i
用于int
,%u
用于unsigned int
...请参阅here。
答案 2 :(得分:1)
%符号在字符串中用作占位符,用于输出变量内容的位置。 %符号后面可以跟不同的标志或说明符,以帮助根据需要格式化输出。您的printf行应如下所示:
printf("Short int x: %d", x);
%d或%i表示变量的格式&#34; x&#34;是一个数字。以下是printf()函数的一些参考:
http://www.tutorialspoint.com/c_standard_library/c_function_printf.htm http://www.cplusplus.com/reference/cstdio/printf/