当前位置: 首页 > news >正文

C语言读取用户输入的常用函数

Programing Learning Note

  • C语言
    • 1、scanf
    • 2、gets
    • 3、fgets
    • 4、getchar

C语言

1、scanf

函数原型

int scanf( const char *format, ... );
  • 返回值:成功则返回一个大于零的整数,失败则返回一个小于零的整数。
  • 参数:一个包含格式说明符的字符串。
  • “…” i:指该函数可以接收多个输入参数。
%d to accept input of integers.

%ld to  accept input of long integers

%lld to accept input of long long integers

%f to accept input of real number.

%c to accept input of character types.

%s to accept input of a string.

刚函数可以用来同时接收多个输入值,以空格或换行符作为终止标识。
示例一:

    char str[16];
    printf("please enter a string: ");
    scanf("%s",str);
    printf("the string you entered is: %s\n", str);

在这里插入图片描述
示例二:

    char str_1[16],str_2[8];
    printf("please enter a string: ");
    scanf("%s %s",str_1,str_2);
    printf("the string you entered is: %s\n", str_1);
    printf("the string you entered is: %s\n", str_2);

2、gets

函数原型

char *gets( char *str );

示例:

    char str[8];
    printf("please enter a string:");
    gets(str);
    printf("the string you entered is: %s\n", str);

如果输入的值超过内存空间,则会发生溢出,程序有可能奔溃。

3、fgets

函数原型

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

该函数的优点是不会溢出,溢出部分放在缓存区中。如果空间充足,还会自动添加一个换行符
示例:

    char str[64];
    printf("please enter a string:");
    fgets(str, sizeof(str), stdin);
    printf("the string you entered is: %s\n", str);

4、getchar

int getchar(void);

输入缓存区中有东西就从头一个一个字节拿出来,没有的画就等待用户输入,常用以下的语句来消除输入缓存区中的字符。

while(getchar != '\n')
{
	continue;
}

相关文章:

  • django学习网址
  • 【了解机器学习的定义与发展历程】
  • nifi连接Sql server数据库报错TLS问题
  • Redis cluster集群搭建
  • K8S常用kubectl命令汇总(持续更新中)
  • 每日五道java面试题之spring篇(二)
  • sonar-java 手写一个规则-单元测试分析
  • PyPDF2:项目实战源码分享(PDF裁剪)
  • vue 子组件获取父组件
  • LeetCode9 回文数
  • 2024.2.23
  • 【深度学习笔记】深度学习训练技巧
  • Linux-基础知识(黑马学习笔记)
  • RestTemplate启动问题解决
  • 第6.4章:StarRocks查询加速——Colocation Join
  • 信钰证券:OpenAI入局,下个黄金赛道燃爆!马斯克的擎天柱传来新消息
  • 计网 - 深入理解HTTPS:加密技术的背后
  • Web 前端 UI 框架Bootstrap简介与基本使用
  • Java 后端面试指南
  • 项目解决方案:街道社区视频监控接入、汇聚和联网设计方案
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读