當前位置:首頁 » 編程語言 » c語言互換函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言互換函數

發布時間: 2023-05-07 06:09:08

c語言用函數如何實現兩個數交換

#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}

main(){int x,y;printf("請輸入x與y的值,用空格隔開 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交換後 x=%d,y=%d ",x,y);}

(1)c語言互換函數擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

㈡ c語言函數的使用,定義一個交換函數 實現2個數字的交換。

void Swap(int&x,int&y)

{

int temp=0;

temp=x;

x=y;

y=temp;

}

int main()

{

int a=1;

int b=2;

Swap(a,b);

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

system("pause");

return 0;

}

運行結果:

(2)c語言互換函數擴展閱讀:

用指針交換:

void Swap(int*x,int*y)

{

int temp=0;

temp=*x;

*x=*y;

*y=temp;

}

int main()

{

int x=1;

int y=2;

Swap(&x,&y);

printf("x=%d,y=%d ",x,y);

system("pause");

return 0;

}

運行結果:

X=2;Y=1

㈢ c語言實現任意類型變數交換函數


網路上找的答案,這個問題挺難的,至少我不會,,,學習c語言好今年了。
#include<stdio.h>
#defineSCANF(m)scanf("%"#m"%"#m,&m##a,&m##b)
#definePRINTF(m)printf("交換結果:%"#m" %"#m" ",m##a,m##b)
voidswap(char,void*,void*,void*);
intmain()
{
unsignea,ub,ut;
intda,db,dt;
floatfa,fb,ft;
doublelfa,lfb,lft;
charca,cb,ct,ch;
printf("數據類型:");
printf("u-無符號整型 i-有符號整型 f-單精度實型 d-雙精度實型 c-字元型 ");
printf("請選擇 ");
scanf("%c",&ch);
fflush(stdin);
printf("請輸入兩個指定類型的數據:");
switch(ch)
{
case'u':SCANF(u);swap(ch,&ua,&ub,&ut);PRINTF(u);break;
case'i':SCANF(d);swap(ch,&da,&db,&dt);PRINTF(d);break;
case'f':SCANF(f);swap(ch,&fa,&fb,&ft);PRINTF(f);break;
case'd':SCANF(lf);swap(ch,&lfa,&lfb,&lft);PRINTF(lf);break;
case'c':SCANF(c);swap(ch,&ca,&cb,&ct);PRINTF(c);break;
}
}
voidswap(charc,void*p1,void*p2,void*p3)
{
switch(c){
case'u':*(unsigned*)p3=*(unsigned*)p1;*(unsigned*)p1=*(unsigned*)p2;*(unsigned*)p2=*(unsigned*)p3;break;
case'i':*(int*)p3=*(int*)p1;*(int*)p1=*(int茄答*)p2;*(int*)p2=*(int爛知*)p3;break;
case顫歷慧'f':*(float*)p3=*(float*)p1;*(float*)p1=*(float*)p2;*(float*)p2=*(float*)p3;break;
case'd':*(double*)p3=*(double*)p1;*(double*)p1=*(double*)p2;*(double*)p2=*(double*)p3;break;
default:*(char*)p3=*(char*)p1;*(char*)p1=*(char*)p2;*(char*)p2=*(char*)p3;break;
}
}

㈣ C語言怎麼用自定義函數將兩個數交換

要用函數實現兩個數的交換,則函數參數必須定義為指針形式,否則函數中對數值的修改將不會影響主調函數,這是C語言的規則。
所以,以整型為例,自定義函數書寫如下:
void swap_int(int*a,int*b)
{
int t;

t = *a;

*a=*b;

*b=t;

}

㈤ c語言中swap是個什麼函數

swap函數一般是一個程序員自定義函數,是實現兩個變數數值的交換。

1、比如:

int a = 2;

int b =3;

swap(a,b); //一般用到變數數值交換,交換後a=3 b = 2;

2、通過使用臨時變數實現交換。

void swap1(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

(5)c語言互換函數擴展閱讀

C語言swap函數的使用

#include<stdio.h>

void swap(int *pa,int *pb)

{

int temp;

temp=*pa,*pa=*pb,*pb=temp;

}

void main()

{

int a=10,b=20;

swap(&a,&b);//傳遞的是實參變數a,b的地址

printf("a=%d,b=%d ",a,b);

}

㈥ 5、使用C語言編寫一個函數,用於交換兩個變數的值(地址傳遞)。

不知道你要交換的兩個變數類型,所以這里以整型數據交換為例,以下swap函數實現了交換兩個整型變數值的功能:

#include<stdio.h>

//交換給定指針指向整型變數的值。
//參數:
// a->指向第一個變數的指針
// b->指向第二個變數的指針
voidswap(int*a,int*b);

intmain(intargc,intargv)
{
inta=3,b=5;
printf_s("交換前:a=%d,b=%d ",a,b);
swap(&a,&b);
printf_s("交換後:a=%d,b=%d ",a,b);
return0;
}

//交換給定指針指向整型變數的值。
//參數:
// a->指向第一個變數的指針
// b->指向第二個變數的指針
voidswap(int*a,int*b)
{
//聲明一個臨時變數,保存第一個指針指向變數
//的值。
//其中*a是取出a指針指向變數的值
inttemp=*a;
//將b指針指向的值賦值給a指針指向變數
(*a)=(*b);
//將臨時變數temp中保存的a指針指向變數的值賦值給
//b指針指向的變數。
(*b)=temp;
}

以上代碼運行結果如下:

㈦ c語言,交換函數

交換函數很好寫。
比較難的讀文件。文件格式 與 讀語句要 相配。 特別是 多餘 的 空行和回車鍵。納滑
調試時用 printf 語句 檢查 讀得對不對。
fgets() 函數可用來讀整行並嫌的字元串,含回車鍵。

#include <stdio.h>
#include<stdlib.h>

void jh(char *a, char *b){
char x[100];
strcpy(x,a),strcpy(a,b),strcpy(b,x);
}

int main(){
FILE *fp;
int n,i,j;
char a[100];
char b[100];
char ch;
if((fp=fopen("2.2.txt","r"))==NULL){
printf("Error");
exit(0);
}
fgets(a,100,fp);
sscanf(a,"%d",&n);
//printf("n=%d\n",n);
for(j=1;j<=n;j++){
fgets(&a[0],100,fp);
//printf("read a: %s",a);
fgets(&b[0],100,fp);
// printf("read b: %s",b);
printf("Case %d\n",j);
jh(a,b);
printf("%s",a);
printf("%s",b);
fgets(&a[0],100,fp); // 假定2組數間只有一個空白洞蔽臘行,則用它跳過。
}
fclose(fp);
return 0;
}

㈧ C語言,定義函數交換字元串數組

C語言中交換兩個字元串需要藉助strcpy函數或者使用自定義交換函數進行交換
如交換a,b數組中的字元串代碼:

char a[10] = "abed", b[10] = "efg", t[10];strcpy(t, a);//a復制給tstrcpy(a, b);//b復制給astrcpy(b, t);//t復制給b

附:strcpy函數詳情
原型聲明:

char *strcpy(char* dest, const char *src);

頭文件:

#include <string.h> 和 #include <stdio.h>

功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。返回指向dest的指針。

㈨ c語言交換兩個數的函數

好像沒有return(x,y)這種寫法吧,這樣寫應該可以
void swap(int *x,int *y)
{
int c;
c=*x;
*x=*y;
*y=c;
}