首页后端开发其他后端知识C语言子函数交换 c语言子函数调用子函数

C语言子函数交换 c语言子函数调用子函数

时间2023-04-21 08:18:01发布访客分类其他后端知识浏览579
导读:c语言函数的使用,定义一个交换函数 实现2个数字的交换。 void Swap(intx,inty {int temp=0;temp=x;x=y;y=temp;}int main( {int a=1;int b=2;Swap(a,b ;cou...

c语言函数的使用,定义一个交换函数 实现2个数字的交换。

void Swap(intx,inty)

{

int temp=0;

temp=x;

x=y;

y=temp;

}

int main()

{

int a=1;

int b=2;

Swap(a,b);

coutlt; lt; "a="lt; lt; alt; lt; endl;

coutlt; lt; "b="lt; lt; blt; lt; endl;

system("pause");

return 0;

}

运行结果:

扩展资料:

用指针交换:

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\n",x,y);

system("pause");

return 0;

}

运行结果:

X=2;Y=1

C语言指针传参,目的是通过子函数交换实参地址,实现形参和实参的双向传递。但不能通过编译,求解。

看起来对函数调用和指针的概念有误解,形参和实参永远不能互相修改,因为在栈的不同位置存储。我们提出的双向传递是,通过把原来的当做实参变量的地址当做实参传入函数,在函数内部通过修改指针形参指向的地址来把值传递出函数;作为变量地址的实参依然不可能在函数内部被修改。

C语言:我使用子函数将指针变量中的指针进行交换,但是为什么所指向的变量却没有变?程序如下:

C语言中的任何函数形参都是值传递。所谓引用传递,不过是指针的值传递而已。

你的函数做的工作只是交换函数中的两个临时变量a和b的值,结果不会影响到外部的实参pa和pb。如果想要交换两个指针的值,你的形参应该为两个二级指针。

c语言,交换函数

交换函数很好写。

比较难的读文件。文件格式 与 读语句要 相配。 特别是 多余 的 空行和回车键。

调试时用 printf 语句 检查 读得对不对。

fgets() 函数可用来读整行的字符串,含回车键。

#include stdio.h

#includestdlib.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;

}

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C语言子函数交换 c语言子函数调用子函数
本文地址: https://pptw.com/jishu/4374.html
vb点虐定义字符串 vbnet stringformat c语言函数的操作步骤 c语言函数的使用

游客 回复需填写必要信息