本囙答被提问者和网友采纳
你对这个回答的评价是
C++输入过程中是把输入加载到缓沖区中,然后对缓冲区中的字符进行读取
常用的转义字符有:’/0’, ‘/n’, ‘/t’;
**’/0’**为空字符,相当于空格键作为字符串结束符使用;
**’/n’**为换行符,作为输出结束符使用;
**’/t’**为水平制表符相当于tab键;
对于一个字符串,例如“hello”它是由字符“h e l l o /0”,在内存中连续存放
a.連续输入多个字符或者数字
b.输入一个字符串,以“空格”、“回车”、“tab”键结束
可以看出,空格后的字符串“sdf”并没有被输出
若变量是数组,在没有空格、回车、tab键的情况下输入字符长度要小于等于数组长度。
cin.get()在缓冲区遇到回车空格,tab键也会作为字符留在缓冲区即回车,空格tab键也可以输出。
b.二参数:cin.get(字符串数组变量名字符串长度)
c.三参数:cin.get(字符串数组变量名,字符串长度标志结束字符)
其中:二参数和三参数的情况下,变量必须为char类型数组即变量定义为:
这种单字符的输入是把字符的ASCII码值存入变量中。
当输入字符足够后回車结束输入当输入过多时,取前几个
输入为:回车空格f;输出则为上图显示。
输入字符串长度可以大于数组定义的长度
数组长度要夶于等于cin.get(字符串数组变量名,字符串长度)的字符串长度
输出为9个字符,最后一个字符为’/0’
用法与二参数一样,只是多了个标志结束芓符可参考cin.getline()的用法,不再赘述
cin.get()在输入足够条件下,遇到“回车”时会结束目前输入但不会删除缓冲区中的“回车”;
cin.getline()当遇到“回车”时会结束当前输入,但会删除缓冲区中的“回车”
cin.getline(字符串的变量名,接收字符的个数n,‘标志结束字符’);
a.第2个参数表示读取的字符个数為n-1个,因为最后一个字符为’/0’;
b.若第3个参数省略则第3个参数系统默认为’/0’,由于字符串最后一个字符默认为’/0’所以在字符个数足够的情况下,输出全部字符串;
在遇到标志结束字符前输出前2个字符,最后一个字符为’/0’
输出已标志结束字符为止
a.定义的字符串变量要用“string”来定义
b.定义的变量不能是数组
在单独使用cin时,由于cin可以通过空格键结束一个变量的输入例如:
这就是通过空格依次输入a和b。
第一次输出的ch变量为第一个空格前的字符串;
第二次输出的ch变量为除了第一个字符串后到标志结束字符之间的字符串;