c語言實現字串逆序

來源:互聯網
上載者:User

面試經常會遇到的題,C語言實現字串逆序。如輸入“abcd”,輸出“dcba”。

最近自己整理了一下,下面代碼已經過測試。

#define Max 200
main()
{
   char str[Max];
   printf("請輸入字串:");
   gets(str);
   int len=0;
   char *strlen=str;
   char *left=str;
   char temp;
   while(*strlen++)len++;
   strlen-=2;//這裡很值得思考
   while(left<strlen)
   {
      temp=*left;
      *left++=*strlen;
      *strlen--=temp;
   }
   printf("逆序後的字串為:");
   int i;
   for(i=0;i<len;i++)
       printf("%c",str[i]);
   printf("\n");
   system("pause");
}

下面是MS的C庫給出的代碼:

1.char * __cdecl strrev ( char * string )
2.{
3. char *start = string;
4. char *left = string;
5. char ch;
6. while (*string++) /* find end of string */
7. ;
8. string -= 2;
9. while (left < string)
10. {
11. ch = *left;
12. *left++ = *string;
13. *string-- = ch;
14. }
15. return(start);
16.}

MS給出的代碼比較簡潔,寫的比俺的要好!

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。