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(字符数组)

  • 相关阅读:
    expdp和impdp用法详解
    Shiro-JWT SpringBoot前后端分离权限认证的一种思路
    Maven Helper 插件-解决依赖冲突
    maven打包之resource配置
    sparkstreaming direct方式读取kafka(0.10版本)数据, 并手动维护offset
    java向kafka发送消息
    idea maven整合log4j
    java设计模式: 工厂方法模式
    异地购房使用武汉公几斤商dai转公几斤dai款
    java设计模式: 单例设计模式
  • 原文地址:https://www.cnblogs.com/spore/p/10988768.html
Copyright © 2011-2022 走看看