printf和scanf的一些用法

时间:2023-01-07 19:57:57

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