ACM字符串输入问题

坑死了。。竟然被这个问题困扰了大半个学期,今天搜来翻去终于弄明白了一些,以后固定用这几种用法好了不然总出错QAQ
实际测试例子就没放了,死记这里就够用了T-T

概念:

gets()函数:用来从标准输入设备(键盘)读取字符串直到换行符结束。

cin 可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符。

scanf("%s",str) 可以连续从键盘读取想要的字符串(数组),以空格、tab或换行作为分隔符。

基本用法:

                    C语言:读入一段带空格的字符串使用gets()        头文件#include<stdio.h>

                                  读入一段不带空格的字符串使用scanf("%s",str)      头文件#include<string.h>

                                  

                    C++:     读入一段带空格的字符串使用gets()       头文件#include<iostream>

                                 读入一段不带空格的字符串使用cin       头文件#include<cstring>

附一个小问题:

一般使用ACM会多次使用这些输入函数,
但是如果出现这样一个情况:第一次输入的字符串长度大于第二次输入的字符串长度。
那么strlen测量字符串长度时会怎样呢?
经过测试结论是 测出长度为第二次字符串的长度(原来第一次读入多的字符串还在)

猜你喜欢

转载自www.cnblogs.com/lightice/p/10327452.html