返回

scanf的使用

发布时间:2023-08-14 20:55:43 268

1.scznf可以将程序变得灵活起来

scanf

1)作用:可以让用户自己输入数据,让其输入指定变量类型。

2)语法格式

scanf("格式控制符",变量地址列表)

a.在格式控制符中用占为符要求用户输入指定数据类型。

b.在变量地址中使用&来代表选入地址。

c.scanf运行原理:阻塞式函数,当被执行时系统会暂停,等待用户输入,

输入完按回车,系统会打印数据,然后进行输出。

d.有时需要加_s,不然会出现返回值会被忽略。

3)步骤(qq实例)

#include

int main()

{

int qqZhanghao = 0;//先定义qq的输入类型

int qqMima = 0;

printf("请输入qq账号\n");//显示需要输入什么

scanf_s("%d", &qqZhanghao);//写入占位符及选择输入地址

printf("请输入qq密码\n");//分步写入

scanf_s("%d", &qqMima);

printf("输入正确,登录成功\n");//打印最后结果

return 0;//返回值

}

2.scanf函数接受不同类型的数据

%d      int num=0

%f      float f1=0.0

%lf      double f2=0.0

%c      char ch=a

#include

int main()

{

int age = 0;//先声明一个变量,与用户输入整型数据类型一致

printf("你今年多少岁?\n");//先打印,让用户知道要输入什么

scanf_s("%d", &age);//阻塞,使用户输入

printf("这么巧,我今年也是%d\n",age);//最后再打印想表达的东西

return 0;

}

3.使用scanf函数可以接受用户多个数据(实例)

#include

int main()

{

int banJiNum = 0, nanShengNum = 0;//先进行定义类型

float num = 0.0f;

printf("请输入班级人数\n男生人数\n平均分\n");
//让用户输入指定数字

scanf_s("%d%d%f", &banJiNum,&nanShengNum,&num);
//利用scanf以一输多的形式将所要输入的东西写在一起

printf("恭喜你,输入成功,班级数为%d,男生数为%d,平均分为%.2f",
banJiNum,nanShengNum,num);//进行打印并输出

return 0;

}

需要注意的问题:默认的分隔符是空格,可进行自定义分隔符。

如scanf("%d-%-d-%f", &banJiNum,&nanShengNum,&num");

输入数据时应该2-3-4.0

注:a.一旦指定分隔符,就必须使用,空格无法使用。

b.且scanf函数一次输入多个数据只能是整型或者是浮点型,不能是字符。

4.scanf函数缓冲区

含义:在scanf函数中输入的数据不会直接复制而是储存到缓存区。

运行原理:当我们完成数据输入时按回车,系统先会检查缓冲区的数据,如果没有数据,系统才会让用户输入数据。如果有,则不会让用户输入数据。

注意:我们在缓冲区拿的数据是整型或实型中的空格可以忽略,但如果是字符则会将空格做为应该数据进行输入

实例如下

scanf的使用_数据

解决办法:首先要将缓冲区内的数据清空,所以在执行字符数据时先输入

rewind(stdin); 这句代码可以将缓冲区的数据清除。

scanf的使用_格式控制_02

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线