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測量字符串長度時會怎樣呢?
經過測試結論是 測出長度為第二次字符串的長度(原來第一次讀入多的字符串還在)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM