坑死了。。竟然被這個問題困擾了大半個學期,今天搜來翻去終於弄明白了一些,以后固定用這幾種用法好了不然總出錯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測量字符串長度時會怎樣呢?
經過測試結論是 測出長度為第二次字符串的長度(原來第一次讀入多的字符串還在)