• C语言输入


    在C语言中,有多个函数可以从键盘获得用户输入:

    1.scanf("格式说明",变量地址列表)

    scanf("%s",字符数组名或指针);
    scanf("%c",字符变量地址);
    scanf("%d",十进制整数变量地址);
    scanf("%u",无符号十进制整数变量地址);
    scanf("%o",八进制整数变量地址);
    scanf("%x",十六进制整数变量地址);
    scanf("%i",十进制、八进制、十六进制整数变量地址);
    scanf("%e",浮点数变量地址);
    scanf("%f",浮点数变量地址);
    scanf("%[]",符合指定字符集合的字符指针);

    scanf()可以接收多种格式的数据,遇到回车,tab,空格时,输入结束,会自动在字符串后面添加'',但是回车,空格和tab键仍会留在输入的缓冲区中。当连续两次调用scanf时,会直接读入上一次结束scanf时的回车符号“ ”  (0x0a);   没有将回车键屏蔽。

    eg:

    当输入字符串中带有空格时:

    test space     //输入带有空格的字符串
    first input:test
    second input:space

    2.gets(字符指针):可接受回车键之前输入的所有字符,并用' '替代 ''.回车键不会留在输入缓冲区中。

    3.getchar():getchar的返回值是缓冲区的第一个字符的ASCII码,如出错返回-1。getchar从用户键入回车开始读缓冲区,用户在键入回车之前输入了不止一个字符,所有字符会保留在键盘缓存区中,getchar直到缓冲区中的字符读完为后,才等待用户按键。

    4.getch():getch直接从键盘获取字符,不等待用户按回车。只要用户按键,getch就立刻返回,getch返回值是键盘输入的ASCII码,出错返回-1。

    一般使用getchar读取scanf语句执行后,缓冲区留下的换行符。

  • 相关阅读:
    bzoj2748:[HAOI2012]音量调节
    bzoj2287:[POJ Challenge]消失之物
    bzoj1485:[HNOI2009]有趣的数列
    Codeforces 620E New Year Tree
    CF813E Army Creation
    527D.Clique Problem
    4337: BJOI2015 树的同构
    Codeforces Round #443 (Div. 1) C. Tournament
    [BZOJ4913][SDOI2017]遗忘的集合
    [八省联考2018]林克卡特树lct
  • 原文地址:https://www.cnblogs.com/xingguang1130/p/12574384.html
Copyright © 2020-2023  润新知