C語言中怎樣交換兩個字符串
C語言中怎樣交換兩個字符串?
慕無忌1623718
2019-02-06 16:07:54
TA貢獻1828條經驗 獲得超4個贊
字符串a,與字符串b交換。
這樣。
.......
char *c;
strcpy(c,a);
strcpy(a,b);
strcpy(b,c);
...........
成功交換。
如果不用庫函數,那么也好辦。
自己寫個串拷貝函數
str_cpy(char *a,char *b) //假設是將b拷貝到a中,注意不是交換
{
while(*b!='\0') //如果字符串b未結束
*(a++)=*(b++);//一位位覆蓋進去
*a='\0';//加上結束標志
}
將上面的strcpy替換成這個函數 也成。
測試成功
那么整個程序可以這么寫。
void str_cpy(char *a,char *b) //假設是將b拷貝到a中,注意不是交換
{
while(*b!='\0') //如果字符串b未結束
*(a++)=*(b++);//一位位覆蓋進去
*a='\0';//加上結束標志
}
void swap(char *a,char *b)
{
char *c;
str_cpy(c,a);
str_cpy(a,b);
str_cpy(b,c);
}
int main()
{
char *str1="123456",*b="654321"
swap(str1,str2);//完成交換
.........
return 0;
}
舉報