C语言::scanf()函数功能、原型、用法和实例 - 高小调博客

C语言::scanf()函数功能、原型、用法和实例

功能

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。

原型

int scanf( const char *format [,argument]... );

(调用时需引用头文件<stdio.h>)

参数

format:格式控制符,argument:可选参数。

返回值

返回值类型为整型,若返回成功返回赋值的数据项数,出错时则返回EOF。

用法

scanf("<格式控制符>", <地址表列>);

格式控制字符的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。

地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。

格式控制符

格式 字符意义
%a/%A 输入一个浮点值(仅C99有效)
%a/%A 输入一个浮点值(仅C99有效)
%i 输入十进制,八进制,十六进制整数
%o 输入八进制整数
%x/%X 输入十六进制整数
%u 无符号十进制整数
%f/%e 输入实型数(用小数形式/指数形式)
%c 输入单个字符(不包括\0)
%s 输入字符串(以空格结束)
%p 输入一个指针
%n 至此已读入值的等价字符数
%[] 扫描字符集合
%% 输入%符号

其他控制符

1."*"符:表示读入的数据将被舍弃。带有*的格式指令不对应可变参数列表中的任何数据。

scanf("%d,%*d,%d",&a,&b);

//若输入1,2,3 则 a = 1,b = 3

2.宽度:表示该格式指令最多读入的字符数

scanf("%5d%5d",&a,&b);

//若输入1234567890 则 a =12345 ,b = 67890

3.长度修饰符:

长度格式符为l和h:l表示输入长整型数据(如%ld)和双精度浮点数(如%lf);h表示输入短整型数据。

4.空白字符

空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止

5.非空白字符

一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符

用法及实例

/*
*本代码版权归高小调博客所有 
*作者:高小调
*日期:第一次写这篇文章的时间,我也忘了
*代码功能:简单的示范一下scanf函数的用法
*搜集整理:高小调博客-(http://gaoxiaodiao.com) 
*/
#include<stdio.h>     
int main(){
    int a=0,b=0;
    printf("请输入a、b的值,以空格分开:");
    scanf("%d %d",&a,&b);
    printf("a=%d,b=%d\n",a,b);
    printf("请输入a、b的值,以逗号分开:");
    scanf("%d,%d",&a,&b);
    printf("a=%d,b=%d\n",a,b);
    printf("请输入a、b的值,以加号分开:");
    scanf("%d+%d",&a,&b);
    printf("a=%d,b=%d\n",a,b);
    return 0;
}

输出

小调祝你一切安好!

本文由高小调博客原创!

原文地址:http://gaoxiaodiao.com/p/3.html

如欲转载,请注明出处!

ps:如果本篇文章没有解决你的问题,请在下方留言,博主会不定时答疑.

上一篇:
下一篇: