我是靠谱客的博主 完美大炮,最近开发中收集的这篇文章主要介绍scanf()的一些总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

接下来说scanf()吧
int scanf(char * format[,argument,…]);
函数的功能:按规定格式从键盘输入若干任何类型的数据给argument所指的单元。返回读入并赋值给argument的数据个数;遇文件结束返回EOF;出错返回0
它使用的一般形式:
scanf(“格式控制字符串”,地址列表);

#include<stdio.h>
int
main(){
int
a;
int
b;
b=scanf("%d",&a);
printf("%d",b);
return
0;
}

其结果就是:

97
1
--------------------------------
Process exited after 3.277 seconds with return value 0
请按任意键继续. . .

其就是ascii码对应的字符的个数
1.“*”为输入赋值抑制字符,表示该格式说明要求输入数据,但不赋值,也就是在地址列表没有对应的地址项
例子:

#include<stdio.h>
int
main(){
int
a,b,c;
scanf("%d%*5d%d",&a,&b,&c);
printf("%d",a);
printf("%d",b);
printf("%d",c);
return
0;
}
1
2
3
130
--------------------------------
Process exited after 7.388 seconds with return value 0
请按任意键继续. . .

2.就是当scanf(“i=%d”,&a)时,那么你输入也必须是i=5,否则会赋不了值,还有就是那个scanf("%d%d",&a,&b);
其输入可以用一个或者多个字符分隔,也可以用回车键和Tab键分割
如果是scanf("%d,%d",&a,&b),那么输入必须是"5,3";其5和3之间不能有任何空格,只能有一个逗号,否则b没有值,只是1,
注意:
a和b之间的都逗号必须是英文的,至于在小黑框输入的时候,英文的逗号和中文都可以
例子:

#include<stdio.h>
int
main(){
int
a,b;
scanf("%d,%d",&a,&b);
printf("%dn",a);
printf("%dn",b);
return
0;
}

运行结果:

53
5
1
--------------------------------
Process exited after 4.91 seconds with return value 0
请按任意键继续. . .

运行结果:

5,3
5
3
--------------------------------
Process exited after 3.174 seconds with return value 0
请按任意键继续. . .

还有scanf()这个函数中的格式控制说明符为%f,但不允许控制精度,小数点后的精度
如scanf("%10.4f",&a);就不行
scanf("%10f",&a);就可以
例:1:

#include<stdio.h>
int
main(){
float
a;
scanf("%10.4f",&a);
printf("%f",a);
return
0;
}

运行结果:

3.14
0.000000
--------------------------------
Process exited after 14.16 seconds with return value 0
请按任意键继续. . .

例子2:

#include<stdio.h>
int
main(){
float
a;
scanf("%10f",&a);
printf("%f",a);
return
0;
}

运行结果:

3.14
3.140000
--------------------------------
Process exited after 2.249 seconds with return value 0
请按任意键继续. . .

注:
printf("%f",a);其输出的默认为小数点后的六位,如果不满就用补,满了就四舍五入
例子:

#include<stdio.h>
int
main(){
float
a;
scanf("%f",&a);
printf("%f",a);
return
0;
}

运行结果:

.14
3.140000
--------------------------------
Process exited after 2.692 seconds with return value 0
请按任意键继续. . .

运行结果2:

3.1415926
3.141593
--------------------------------
Process exited after 4.445 seconds with return value 0
请按任意键继续. . .

最后

以上就是完美大炮为你收集整理的scanf()的一些总结的全部内容,希望文章能够帮你解决scanf()的一些总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部