1.printf:1)格式:printf(格式控制,输出列表); eg:printf("%d\n",c);
2) printf 函数中用到的字符格式:
格式字符: | 说明: |
d,i | 带符号的十进制输出整数; |
o | 八进制无符号形式输出整数; |
x,X | 十六进制无符号形式输出整数; |
u | 无符号十进制数输出整数; |
c | 字符形式输出一个字符; |
s | 输出一个字符串; |
f | 小数形式输出单精度,双精度数,隐含输出6位小数; |
e,E | 以指数形式输出实数; |
g,G | 指数形式输出,指数以大写表示; |
格式附加字符 | 说明: |
l | 长整型整数 |
m(正整数) | 数据最小宽度 |
n(正整数) | 实数:n位小数;字符串:截取字符个数; |
- | 输出向左靠 |
满足的条件:1)缓冲区填满;
2)fflush()手动刷新缓冲区;
3) 输入的字符中有‘\n’‘\r’;
4) scanf读入数据时会刷新缓冲区;scanf和printf使用的是同一个缓冲区;
3.printf(“%s:”d“\n“,__func__,__LINE__);返回函数,行号;
4.数组和指针:
指针是变量;打印地址是printf(“”%p“”,p);
*: 间接运算符或取地址运算符: 取指针变量对应空间保存的地址对应的内存空间的值;
eg:num++:对num对应的内存空间的值自加1;
(*p)++:对p指向的内存空间自加1;
(**pp)++: pp指向的内存空间保存的地址对应的内存空间的值;
5.指针的步长:取决于数据类型的长度:int num;
&num+1;如果原先地址:0x1000,+1后是0x1004;
char ch;
&ch+1; 如果原先地址:0x1000,+1后是0x1001;