title: printf和scanf的一些用法
date: 2017-03-21 19:50:25
tags:
categories:
---
printf()函数
%%打印一个百分号
printf("%%\n");
\\输出结果
\\%
printf()的转换说明修饰符
.数字
%5.2f打印一个浮点数, 字段宽度为5, 其中小数点后有两位
double per = 4.23;
printf("%5.2f\n", per);
-
待打印项向左对齐
printf("%-10d", val);
+
若符号值为正, 则在值前面显示加号; 若为负,则在值前面显示减号
printf("%+5.2f\n", per);
printf("%+5.2f\n", -1 * per);
\\output
\\+4.23
\\-4.23
空格
若符号值为正,则显示前导空格; 若为负,则在值前面显示减号
printf("% 5.2f\n", per);
printf("% 5.2f\n", -1 * per);
\\output
\\ 4.23
\\-4.23
printf()的返回值
printf()的返回值为打印字符的个数
int num = printf("Hello World\n");
printf("%d\n", num);
\\output
\\12
scanf()的返回值
scanf()函数返回成功读取的项数
printf()和scanf()的*修饰符
printf()中的*
用 * 修饰符代替字符宽度
double per = 4.23;
int width = 5;
int percent = 2;
printf("%*.*f\n", width, percent, per);
scanf()中的*
将 * 放在% 和 转换字符之间会使得scanf()跳过相应的输入项
scanf("%*d%*d%d", &val);
printf("%d\n", val);
\\input
\\4 5 6
\\output
\\6