用指针输入数据:scanf 和 fgets 函数

发布于 2024-06-24 08:21:24 字数 1193 浏览 16 评论 0

两个都是输入函数, 都有好的一面不好的一面。

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() 会导致缓冲区溢出,所以要注意限制长度

参考: C 语言格式输入函数 scanf() 详解

2.fgets

原型:

char *  fgets(char * s, int n,FILE *stream);

我觉得有必要看看这篇文章: C 语言文件操作之 fgets()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

泪意

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

qq_E2Iff7

文章 0 评论 0

Archangel

文章 0 评论 0

freedog

文章 0 评论 0

Hunk

文章 0 评论 0

18819270189

文章 0 评论 0

wenkai

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文