坑死了。。竟然被这个问题困扰了大半个学期,今天搜来翻去终于弄明白了一些,以后固定用这几种用法好了不然总出错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测量字符串长度时会怎样呢?
经过测试结论是 测出长度为第二次字符串的长度(原来第一次读入多的字符串还在)
原文地址:https://www.cnblogs.com/lightice/p/10327452.html
时间: 2024-10-10 12:54:02