当前位置:首页 » 编程语言 » 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;
}