用指针输入数据:scanf 和 fgets 函数
两个都是输入函数, 都有好的一面不好的一面。
1.scanf
语法:
scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与 printf 函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符 & 后跟变量名组成的。
使用 scanf 函数还必须注意以下几点:
- scanf 函数中有长度(宽度)控制但没有精度控制,如:
scanf("%5.2f",&a);
是非法的。不能企图用此语句输入小数为 2 位的实数。 - scanf 中要求给出变量地址,如给出变量名则会出错。如
scanf("%d",a);
是非法的,应改为scnaf("%d",&a);
才是合法的。 - 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB 或回车作间隔。C 编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A 即为非法数据) 时即认为该数据结束。
- scanf() 会导致缓冲区溢出,所以要注意限制长度
2.fgets
原型:
char * fgets(char * s, int n,FILE *stream);
我觉得有必要看看这篇文章: C 语言文件操作之 fgets()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论