?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家🥇🥇🥇
📃個人主頁:個人主頁
🔥系列專欄:C語言試題200例
💬推薦一款模擬面試、刷題神器👉 點擊跳轉進入網站
1、題目
實現反轉字符串
比如字符串
char s[10] = "abcde";
反轉后使得字符串是這樣
char s[10] = "edcba";
可以使用指針或者數組下標實現
2 、溫馨提示
C語言試題匯總里可用于計算機二級C語言筆試、機試、研究生復試中C程序設計科目、幫助C語言學者打好程序基礎、C語言基礎,鍛煉您的邏輯思維和解決問題的能力,幫助你成為C語言筆試、機試解題高手,幫助你拿到C語言工作的offer,每一個題目都附帶源代碼和運行結果,讓你不再有任何困惑,媽媽再也不擔心我的C語言了。如果程序有任何看不懂或者哪個步驟不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解決辦法都可以加我微私聊,一起探討、希望可以正真的幫助到你,同時也可以掃下面的二維碼關注我微信公眾號,比如你還對生活、美食或者其它方面都感興趣,都可以加微信交流,博主擅長講解計算機相關方面的知識、如果大家對計算機方向、前端、移動端、服務端、數據結構、算法、網絡、高數等等一些列方向比較迷茫或者不知道要學哪些?或者具體怎么學?或者其它方向有任何困惑都可以找我交流,謝謝大家關注。
3、源代碼實現
#include <stdio.h>
#include <string.h>//反轉字符串用下標操作
void reverseStr(char *s, int length)
{for (int i = 0; i < length / 2; ++i){char temp = s[i];s[i] = s[length - 1 - i];s[length - 1 - i] = temp;}
}//反轉字符串用指針操作
void reverseStr1(char *s, int length)
{char *start = s;char *end = s + length - 1;//指針是具體的數字,我們可以比較指針的大小while (start <= end){char temp = *start;*start = *end;*end = temp;start++;end--;}
}//反轉字符串用指針操作
void reverseStr2(char *s, int length)
{char *p = s;for (int i = 0; i < length / 2; ++i){char temp = *(p + i);*(p + i) = *(p + length - i - 1);*(p + length - i - 1) = temp;}
}int main()
{char str[] = "hello word";//求字符串長度int len= strlen(str);//反轉字符串用下標操作reverseStr(str, len);//輸出字符串strputs(str);//反轉字符串用指針操作reverseStr1(str, len);//輸出字符串strputs(str);//反轉字符串用指針操作reverseStr2(str, len);//輸出字符串strputs(str);return 0;
}
4、運行結果
drow olleh
hello word
drow olleh