广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中关于scanf函数的一些问题详解
  • 834
分享到

C语言中关于scanf函数的一些问题详解

2024-04-02 19:04:59 834人浏览 泡泡鱼
摘要

在学习创建二叉树时遇到了scanf的一些问题,在此记录下来 创建根节点A后理想情况是输入A的左子树,若不为空继续创建左子树,但输入A后发现重复创建了一个左子树,测试后发现输入A换行

学习创建二叉树时遇到了scanf的一些问题,在此记录下来

创建根节点A后理想情况是输入A的左子树,若不为空继续创建左子树,但输入A后发现重复创建了一个左子树,测试后发现输入A换行后scanf函数接收了换行符(ASCII码10)

若想按次序创建各个节点则需要使用getchar()吸收换行符

 不接收换行符也可以输入一个完整的二叉树序列,也可以成功创建。

void CreateBiTree(BiTree &T)
{
    char ch, temp;
    scanf("%c", &ch);
    temp = getchar(); //换行输入则需要吸收换行
    if (ch == '#')
    {
        T = NULL;
        return;
    }
    else
    {
        T = (Tree *)malloc(sizeof(Tree));
        T->data = ch;
        printf("请输入%c的左子树:", ch);
        CreateBiTree(T->lchild);
        printf("请输入%c的右子树:", ch);
        CreateBiTree(T->rchild);
    }
}

 测试后发现若有多个scanf()例如

输入AB换行,多余的scanf会接收换行符。

若是Int类型换行不被接收,因为换行符可以作为字符被接收,

在多个scanf的情况下可以一行输入多个数据,会依次接收这些数据,

 第一行输入1,2,两个scanf接收了1,2;

 总结

Scanf传递字符会接收换行符,避免则须在换行时吸收多余传递的换行符,(getchar传递字符同理),若有多个scanf(如循环,嵌套)允许一次输入多个数据,scanf依次接收它们。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C语言中关于scanf函数的一些问题详解

本文链接: https://www.lsjlt.com/news/161381.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中关于scanf函数的一些问题详解
    在学习创建二叉树时遇到了scanf的一些问题,在此记录下来 创建根节点A后理想情况是输入A的左子树,若不为空继续创建左子树,但输入A后发现重复创建了一个左子树,测试后发现输入A换行...
    99+
    2022-11-12
  • C语言中scanf函数详解
    scanf函数是C语言中用于从标准输入流中读取数据的函数。它的原型如下:```cint scanf(const char *form...
    99+
    2023-09-13
    C语言
  • C语言中关于scanf读取缓存区的问题
    目录前言scanf函数的定义功能:执行格式化输入总结解决方法前言 在牛客做了很多坑爹的题,明明代码没问题但是就退无法AC,看了很多题解之后,发现是scanf读取缓存区,在输入输出时出...
    99+
    2022-11-12
  • C语言中scanf与scnaf_s函数详解
    目录scanf_s使用scanf_sscanf使用scanf总结scanf_s scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc...
    99+
    2022-11-12
  • 关于C语言一维数组算法问题详解
    目录问题1:将数组中的数逆序存放问题2:求数组中最大值及其下标问题3:找出不是两个数组的共有元素问题4:找出出现次数最多的数问题5:数组中插入数字并排序问题6:数组循环右移问题总结问...
    99+
    2022-11-12
  • 关于C语言qsort函数详解
    目录C语言qsort函数详解一.qsort函数是什么 二.使用qsort排序-以升序为例1.整形数组排序2.字符数组排序3.字符指针数组排序4.结构体数组排序5.浮点型数组...
    99+
    2022-11-12
  • C语言中scanf与scanf_s函数的使用详解
    目录1.scanf_s(是vs提供的函数)2.scanf(标准的库函数)3.总结1.scanf_s(是vs提供的函数) a.代码1 int main() { char a = ...
    99+
    2022-11-12
  • C语言main()函数的参数问题详解
    #include<stdio.h> void main(int argc, char* argv[]) { while (argc > 1) { ++a...
    99+
    2022-11-13
  • C语言之关于二维数组在函数中的调用问题
    目录关于二维数组在函数中的调用问题函数调用二维数组 二维数组如何放到函数中使用下面以一个二维矩阵的转置为例关于二维数组在函数中的调用问题 之前在学习二维数组的时候感觉理解起...
    99+
    2022-11-13
  • 一文详解C语言中文件相关函数的使用
    目录一、文件和流1、程序文件2、数据文件3、流二、文件组成三、文件的打开和关闭1、文件的打开fopen2、文件关闭fclose四、文件的顺序读写1、使用fputc和fgetc写入/读...
    99+
    2022-11-13
  • C语言中scanf函数的原样输入的坑及解决
    目录scanf函数的原样输入的坑及解决1、scanf函数格式控制后面输入2、scanf函数的输入是有顺序的3、最重要的一点就是scanf切记要原样输入4、还有一个scanf输入多个数...
    99+
    2022-11-13
  • C语言中scanf函数的原样输入的坑怎么解决
    这篇文章主要讲解了“C语言中scanf函数的原样输入的坑怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中scanf函数的原样输入的坑怎么解决”吧!scanf函数的原样输入的坑及...
    99+
    2023-07-02
  • C语言中函数返回值不一致问题
    目录C语言函数返回值不一致函数的返回值注意事项函数的返回值注意事项总结C语言函数返回值不一致 在运行成程序上有时会发现函数内部的值与返回到主函数的值会相差很多出现随机值,但是它们的地...
    99+
    2023-02-24
    C语言函数 函数返回值不一致 C语言函数返回值
  • 详解C语言中return返回函数局部变量的问题
    目录return返回栈区局部变量的指针return返回栈区局部的临时变量return只读数据段和static数据在计算机中,释放空间并不需要将空间中的内容全部置成0或者1,而是只要设...
    99+
    2022-11-12
  • 关于c语言中输出字符指针的相关问题
    目录c语言输出字符指针问题例如定义一个 char * p = "hello";的字符指针c语言指针求字符串长度c语言输出字符指针问题 例如定义一个 char * ...
    99+
    2022-11-13
  • C语言中函数返回值不一致问题如何解决
    本文小编为大家详细介绍“C语言中函数返回值不一致问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中函数返回值不一致问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C语言函数返回值不一致...
    99+
    2023-07-05
  • 关于C语言中数据在内存中的存储详解
    目录前言一、数据类型介绍1.类型的基本归类1.整形家族2.浮点型家族3.构造类型4.指针类型5.空类型二、整型在内存中的存储1.原码、反码、补码2.内存中怎样存储3.大小端字节序1....
    99+
    2022-11-12
  • C语言中关于库函数 qsort 快排的用法
    目录前言一、库函数(qsort)的含义二、(qsort)函数的实现方式,话不多说,请看。1. 第一个参数2. 第二个参数3. 第三个参数4. 第四个参数1). 函数的参数2). 这第...
    99+
    2022-11-12
  • C语言中的盗贼(小偷)问题详解
    问题描述:警察审问4名窃贼嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎。 这4个人给警察的回答如下。 甲说:“乙没有偷,...
    99+
    2022-11-12
  • C语言中关于动态内存分配的详解
    目录一、malloc 与free函数二、calloc三、realloc四、常见的动态内存的错误【C语言】动态内存分配 本期,我们将讲解malloc、calloc、realloc以及f...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作