㈠ 字元交換c語言
實現字元交換可以藉助一個中間字元變數,比如要把字元變數a和b裡面的內容交換,可以藉助一個中間變數c,代碼如下:
intmain()
{chara='O',b='J',c;
c=a;a=b;b=c;}
這樣a和b裡面的內容就會交換了。
當然,如果你需要寫成一個函數,那必須傳地址,否則函數裡面的值換了,對函數外的變數沒有影響。如果是寫成函數要這樣:
intswap(char*a,char*b)
{charc;
c=*a;
*a=*b;
*b=c;}
然後在主函數里可以這么調用:
intmain()
{chara='O',b='J';
swap(&a,&b);}
㈡ C語言中怎樣交換兩個字元串
C語言中交換兩個字元串需要藉助strcpy函數或者使用自定義交換函數進行交換
如交換a,b數組中的字元串代碼:
chara[10]="abed",b[10]="efg",t[10];
strcpy(t,a);//a復制給t
strcpy(a,b);//b復制給a
strcpy(b,t);//t復制給b
附:strcpy函數詳情
原型聲明:
char*strcpy(char*dest,constchar*src);
頭文件:
#include<string.h>和#include<stdio.h>
功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。返回指向dest的指針。
㈢ c語言 如何將一個字元串的前n個字母後移至尾,其他的按順序前移
#include <stdio.h>
#include <string.h>//為了使用memcpy、strlen等字元串函數
#define N 5
int main()
{
char a[] = "abcdefghijk";
int i, j, m;
char b[N+1] = {'\0'};//b將成為一個中間儲存數組
memcpy(b, a, N);//蠢伍把扒譽a的前N個字元復制到b中,存起來,以供後面使用
m = strlen(a)+1;//得出a數組的長度
for(i=0,j=N; j<m; i++,j++)
{
a[i] = a[j];//前N個字元之後的字元「帶此或按順序前移」
}
strcat(a, b);//把b追加到a後面,達成「前n個字母後移至尾」
printf(a);
return 0;
}
㈣ c語言中如何實現兩個字元的交換
有多種方法:
1
最常用的,中間變數法。
使用第三個中間變數交換a,b的值。
char
a='-',
b='+',c;
c
=
a;
a
=
b;
b
=
c;
實現a,b值的交換。
2
利用加減法交換。
交換a,b值可以用
a+=b;
b=a-b;
a=a-b;
3
利用異或交換:
交換a,b值的代碼為:
a^=b;
b=a^b;
a=a^b;