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指向的空間的起始地址開始