1、头文件后面不能忘了.h。
2、printf("格式控制字符串",输出参数);
printf("%d",d);引号里面可以插入汉子;后面d表示输出参数。语句结尾不能少了分号。格式控制字符和输出参数一定要数量对应,类型兼容,替换其他字符原样输出。
scanf("格式控制字符串",地址列表);
scanf("%c",str);格式控制字符和地址列表一定要数量对应,类型兼容。
3、scanf后如果跟scanf("%c")会读取缓冲区里的回车符,解决办法加一个getchar()在前面,或者scanf(“空格 %c”),会过滤掉前面的空格、tab、回车。
4、注意
a.scanf("%s",str) 输入遇到空格、tab、回车截断
b.scanf("%s",str)如果输入字符串长度超出str的长度,会导致错误。
c.gets()解决了遇到空格截断的问题,但是如果输入字符串长度超出str的长度,会导致错误.
d.用fgets(char *s, int size, FILE *stream). (stdin stdout stderr)
5、格式控制字符串
%d 带符号十进制整数 %s 输出字符串
%o 无符号八进制整数 %f 输出含小数,隐含输出6位小数
%x 无符号十六进制整数 %e 以指数形式输出
%u 无符号十进制整数 %g %f或 %e中输出宽度短的一个
%c 输出单个字符
%p 以十六进制输出地址 printf("a=%d,&a=%p\n",a,&a);
6、转义符号问题:
%输出: %%
\输出 \\
7、
格式字符 % ± m . n h/l
[开始符] [标志字符] [宽度指示符] [精度指示符] [长度修正符] [格式转换符]
默认右对齐,-表示左对齐,+会在数字前显示加号,占用宽度的一位,m数据总长度(包括整数部分,小数点、和小数部分,.n精度(四舍五入)
double类型 lf
long int ld
long long int lld