printf & scanf函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf & scanf函数相关的知识,希望对你有一定的参考价值。

一、printf函数

  这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>

 

1.用法

 

 

1> printf(字符串)

 

printf("Hello, World!");

 

 

2> printf(字符串, 格式符参数)

 

技术分享

技术分享

1 // 使用常量作参数
2 printf("My age is %d\n", 26);
3 
4 // 也可以使用变量
5 int age = 17;
6 printf("My age is %d", age);

技术分享

技术分享

 

总结:左边字符串中格式符的个数 必须跟 右边格式符参数的个数一样;格式符的类型决定了格式符参数的类型,比如使用%d,说明对应的格式符参数必须是整型

 

 

2.常用的格式符及其含义

技术分享

 

 

3.格式符的精细格式控制

1〉输出宽度

如果我把%d换成%4d:

printf("The price is %4d.", 14);

输出结果:技术分享  即“14”前面多出了2个宽度。

如果实际数值宽度比较大,比如用%4d输出宽度为6的"142434",那就会按照实际数值宽度6来输出。

 

 

 如果换成%-4d

printf("The price is %-4d.", 14);

输出结果:技术分享

 

 

 2>浮点数的小数位数

printf("My height is %f", 179.95f);

输出结果:技术分享,  默认输出6位小数。

 

如果只想输出2位小数,把%f换成%.2f即可

printf("My height is %.2f", 179.95f);

输出结果:技术分享

 

可以同时设置输出宽度和小数位数

printf("My height is %8.1f", 179.95f);

输出结果:技术分享

 

 

 

二、scanf函数

 

int age;
scanf("%d", &age);

 

注意:

  1、执行到scanf函数时,会等待用户的键盘输入,并不会往后执行代码。

  2.scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址。

  3.输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的8赋值给age变量

 

scanf()输入注意点:

比如以下几个例子:

技术分享

// 逗号,scanf("%d,%d,%d", &a, &b, &c); // 输入格式:10,14,20// 井号#scanf("%d#%d#%d", &a, &b, &c); // 输入格式:10#14#20// 字母xscanf("%dx%dx%d", &a, &b, &c); // 输入格式:10x14x20

技术分享


以上是关于printf & scanf函数的主要内容,如果未能解决你的问题,请参考以下文章

scanf函数与printf函数用法

4-printf & scanf函数

scanf,printf函数细节

stm32CubeMx上移植自己的printf()和scanf()函数

关于scanf的用法

汇编中的 Scanf 和 printf 函数,例如 char* 和 double