printf()里面有许多%d,%f,%s等,但是%i是什么意思,除了这些还有哪些都是什么意思?

希望描述清楚点
2024-12-03 19:33:22
推荐回答(1个)
回答1:

%i其实就是%d
整形变量占位符就是用%d
%lf是double的占位符
float类型变量也可以用占位符%f,如果用%d,那打印出来的就是整形的
%i最好不用
以下是输入输出控制符的常见的一些知识
字符 输入数据;变元类型
d 十进制整数;int *
i 整数;int *。该整数可以是以0开头的八进制数,也可以是以0x/0X开头的十六进制数
o 八进制数(可以带或不带前导0);unsigned int *
u 无符号十进制整数;unsigned int *
x 十六进制整数(可以带或不带前导0x/0X);unsigned int *
c 字符;char *。按照字段宽的大小把读入的字符保存在指定的数组中,不加入字符'\0'。字段宽的缺省值为1。在这种情况下,不跳过空白符;如果要读入下一个非空白符,使用%1s(数字1)
s 有非空白符组成的字符串(不包含引号);char *。该变元指针指向一个字符数组,该字符数组有足够空间来保存该字符串以及在末尾添加的'\0'
e/f/g 浮点数;float *。float浮点数的输入格式为:一个任选的正负号,一串可能包含小数点的数字和一个任选的指数字段。指数字段由字母e/E以及后跟的一个可能带正负号的整数组成
p 用printf("%p")调用输出的指针值;void *
n 将到目前为止此调用所读的字符数写入变元;int *。不读入输入字符。不增加转换项目计数
[...] 用方括号括起来的字符集中的字符来匹配输入,以找到最长的非空字符串;char *。在末尾添加'\0'。格式[]...]表示字符集中包含字符]
[^...] 用不在方括号里的字符集中的字符来匹配输入,以找到最长的非空字符串;char *。在末尾添加'\0'。格式[]...]表示字符集中包含字符]
% 字面值%,不进行赋值