printf()格式化输出函数
一般用于向准则输出设备按规定式样输出消息。
- 注意:函数printf从左往右读取,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。
- 调用格式为 printf("<格式化字符串>", <参量表>);
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应。
%d:输入输出为整形
%ld 长整型
%hd短整型
%hu无符号整形
%u %lu
%s:输入输出为字符串
%c字符
%f:输入输出为浮点型
%lf双精度浮点型
scanf 格式输入函数
- 函数作用:按照变量在内存的地址将变量值存进去。
- 使用scanf函数时应注意的问题 :
scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。
其中,格式控制:%d:以带符号的十进制形式输出整数 %o:以八进制无符号形式输出整数 %x:以十六进制无符号形式输出整数 %u:以无符号十进制形式输出整数 %c:以字符形式输出,只输出一个字符 %s:输出字符串 %f:以小数形式输出单,双精度数,隐含输出六位小数 %e:以指数形式输出实数 %g:选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0 %x:以十六进制无符号形式输出整数 %u:以无符号十进制形式输出整数
- 在格式控制的字母前面可以用几种常见的格式符的修饰符,作用如下:
L:用于长整型整数,可加在格式符d,o,x,u前面 M:(代表一个正整数):数据最小宽度 N:(代表一个正整数):对实数,表示输出n位小数;对字符串,表示截取的字符个数
出现过的问题:
1. float换成double出错http://bbs.csdn.net/topics/392156331输入格式与定义的变量类型对应
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。