zoukankan      html  css  js  c++  java
  • scanf输入与getchar的比较

    使用scanf输入时应注意的问题

    1. scanf("%c%c%c",&c1,&c2,&c3);   在执行此函数时应该连续输入三个字符,中间不要有空格。如果有空格,就不对了,      如:a b c 第1个字符‘a’送给c1,第2个字符是空格符' ',送给c2,第3个字符'b'送给c3

    提示输入数值时,在两个数值之间需要插入空格(或其他分隔符),以使系统能区分两个数值

          在连续输入字符时。在两个字符之间不要插入空格或其他分隔符(除非在scanf函数中的格式字符串中有普通字符,这时在输入数据时要在原位置插入这些字符),系统能区分两个字符

    2. 在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。如

       scanf("%d%c%f",&a,&b,&c);

    若输入1234e123o.26

    第一个数据对应%d格式,在输入1234之后遇到字符'e',因此系统认为数值12345后没有数据了,第1个数据应到此结束,则把1234送给a,把'e'送给b。如果由于疏忽把1230.26错打成123o.26,由于123后面出现字母o,就认为数值数据到此结束,将123送给变量c,后面的几个字符没有被读入。

    3.scanf("%[^ ]",&a);

    表示读入一行字符串。
    ^表示"非",[^ ]表示读入换行字符就结束读入。

    4. *在scanf中的用法和scanf的返回值的用法两点。

    https://www.dotcpp.com/wp/786.html

    使用getchar输入单个字符,而非一个字符串。

    getchar函数,是C语言标准库中的函数,在头文件stdio中,可以接受用户输入的一个字符,回车结束,明文显示。声明和示例如下:

    注意:第一行是我输入的,第二行是printf输出的!

     gets(字符数组)

     puts(字符数组)

  • 相关阅读:
    MFC编程习惯
    光源的频闪与常亮
    相机的选择——卷帘快门(Rolling Shutter)与全局快门(Global Shutter)
    Halcon标定(以40*40标定板为例)
    DALSA线阵相机使用教程(以16K为例)、保存配置文件ccf细节
    打包exe(使用Inno Setup)
    机器视觉项目总结——镜头
    Qt(MinGW版本)utf8终端中文乱码解决方案
    Qt(MinGW版本)安装
    (C#)Windows Shell 外壳编程系列7
  • 原文地址:https://www.cnblogs.com/spore/p/10988768.html
Copyright © 2011-2022 走看看