zoukankan      html  css  js  c++  java
  • char 和string的输入

    1. scanf

    1.1 输入字符

    char ch;

    scanf("%c",&ch);

    注意字符前面的取地址符

    1.2 输入字符串

    char str[15];

    scanf("%s",str);

    char *pstr;

    scanf("%s",pstr);

    (1)scanf在输入字符串时,不读入空格和回车,在读入空格或回车时,输入结束

    (2)输入字符串长度超过字符数组元素个数不报错,但运行时会提示“Run-Time Check Failure #2 - Stack around the variable 'str' was corrupted.”

    (3)当为str为数组元素地址时,从此元素地址开始存放

    (4)当输入项为字符指针时,指针必须已指向确定的有足够空间的连续存储单元,不然会提示指针未初始化

    2.getchar

    输入一个字符

    char ch;

    ch = getchar();

    3.gets

    输入一个字符串,包括空格,遇到回车结束输入

    char str[15];

    gets(str);

    4.cin

    输入数字:以空格或回车结束

    输入字符或字符串:以空格、TAB、回车结束!

    5.cin.get

    cin.get(字符变量名):用来接收字符

    cin.get(字符数组名,接受字符数目),用来接收一个字符串,可以接受空格的

    cin.get(无参数):没有参数主要是用于舍弃输入流中的不需要的字符或者舍弃回车弥补cin.get(字符数组名,接受字符数目),的空格的不足

    getline将丢弃换行符,而get()将换行符保留在输入序列里,但是字符串中并没有换行符。使用cin.get()输入多行数据时,中间可以使用get()消除换行符。

    int main()

    {

    char str1[30], str2[30];

    cin.get(str1, 30);

    cin.get();

    cin.get(str2, 30);

    cout << "str1: " << str1 << endl;

    cout << "str2: " << str2 << endl;

    return 0;

    }

    6.cin.getline

    cin.getline(字符数组名,接受字符数目):接受一个字符串

    cin.getlne():其实可以有三个参数,最后一个参数是字符串的结束标志,当最后的参数省略时,默认是''

    char str[15];

    int len = 5;

    cin.getline(str,len,'*');

    7.Printf

    printf("%s",地址值)

    输出时遇到第一个''为止

    8.puts

    puts遇到第一个‘’结束,自动加入换行符

    char str[15];

    gets(str);

    puts(str);

  • 相关阅读:
    20210718力扣第249场周赛(五)
    统计学习方法第三章 k近邻法
    统计学习方法第二章
    启发式搜索
    洛谷P2015 二叉苹果树
    Codeforces Round #736 (Div. 2). D
    牛客多校第五场 K King of Range
    RMQ/ST表
    AcWing100 IncDec Sequence
    AcWing 368. 银河
  • 原文地址:https://www.cnblogs.com/NKshen/p/14173312.html
Copyright © 2011-2022 走看看