189 8069 5689

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

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

void Swap(intx,inty)

目前创新互联建站已为上1000+的企业提供了网站建设、域名、网站空间、网站托管、服务器托管、企业网站设计、四方台网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

{

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;

}


分享标题:C语言子函数交换 c语言子函数调用子函数
文章位置:http://jkwzsj.com/article/ddjhecd.html

其他资讯