C++中字符和字符串的讀取與使用


1.如何避免讀入空格、回車等符號,以防止出錯

char s[100];

scanf("%s",s)//這樣讀取會忽略掉空格、回車、格式控制符等。

char ch;

scanf("%c",&c)//這樣能讀到空格、回車、格式控制符等。

但是題目中很少會需要讀取空格和回車等符號。所以,當有多個數據時,以字符串的形式讀入往往會出錯(不小心讀入了回車、空格等符號);

為了避免這種情況,可以以字符串的形式讀入字符;

比如 ,scanf("%s",s),這s[0]既是讀入的第一個字符。

當然也可以用cin>>讀入,這樣會自然區忽略掉空格等符號。

2.如何將字符串中的第一個字符讀入s[1];

scanf("%s",s)//默認第一個字符是讀入s[0]的,但是有些題目將第一個字符讀入s[1]會避免每次訪問第i個字符時下標總是要減1(因為第i個字符存在了s[i-1]處).

解決方法:

scanf("%s",s+1);// 就是從控制台讀取數據,然后將數據存到從s+1開始的地方
而不是從s指向的空間的起始地址開始

 


免責聲明!

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



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