當前位置:編程學習大全網 - 編程軟體 - Rev編程

Rev編程

#包含?& ltstdio.h & gt

#包含?& ltstring.h & gt

//?您可以使用strrev()函數來反轉字符串。這個只能倒英文,倒中文會有亂碼。

//?如果需要反向中文,可以使用_mbsrev()(#include?& ltmbstring.h & gt(ANSI模式),?或者使用wcsrev()(UNICODE模式),

夏爾?*?myStrrev(char?*?s)

{

夏爾?*?l?=?s,?*?h?=?s?+?strlen(s);

而(l?& lt?h)?{char?t?=?* l;?*l++?=?*-h;?*h?=?t;}

回歸?s;

}

int?charAdd(const?未簽名?夏爾?*?ch)

{

if(*ch++?& lt=?0x80)?回歸?1;?//?英語

if(*ch?& gt=?0x40)?回歸?2;?//?中國人

不然呢?回歸?0;?//?錯別字

}

//?這個可以反中文。

夏爾?*?myMbsrev(char?*?s)

{

size_t?萊恩。=?strlen(s);

未簽名?夏爾?*?buf?=?新的?未簽名?char【len?+?4];

未簽名?夏爾?*?h?=?buf?+?len

未簽名?夏爾?*?l?=?(未簽名?夏爾?*)s;

while(*l)

{

int?ll?=?charAdd(l);

如果(ll?==?0)?打破;

h?-=?ll;

memcpy(h,l,?ll);

l?+=?ll;

}

memcpy(s,h,?len);

刪除?buf

回歸?s;

}

int?主()

{

夏爾?str[1024];

Printf("請輸入壹個英文字符串?:?");

gets(str);

Printf("妳輸入的字符串是什麽?:?%s\n ",str);

Printf("字符串反轉後是什麽?:?%s\n ",myStrrev(str));

Printf("請輸入壹個中文字符串?:?");

gets(str);

Printf("妳輸入的字符串是什麽?:?%s\n ",str);

Printf("字符串反轉後是什麽?:?%s\n ",myMbsrev(str));

回歸?0;

}

  • 上一篇:播音主持培訓機構哪家好
  • 下一篇:軟件開發專業未來發展怎麽樣?
  • copyright 2024編程學習大全網