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://myzitong.com/article/ddjhecd.html