大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
c语言中用函数交换两个变量的值方法是先将变量赋值给中间变量,然后中间变量再赋值给另外一个变量,程序如下:
为宁波等地区用户提供了全套网页设计制作服务,及宁波网站建设行业解决方案。主营业务为网站建设、成都做网站、宁波网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#include "Stdio.h"
#include "Conio.h"
void swap(int x,int y)
{
int t,m;
t=x; //变量x赋值给中间变量t
m=y; //变量y赋值给中间变量m
x=m; //中间变量m赋值给变量x,将y的值赋值给了x。
y=t; //中间变量t赋值给变量y,将x的值赋值给了y。
}
main()
{
int a,b;
a=1,b=2;
swap(a,b); //调用交换函数
printf("%d,%d",a,b);
getch();
}
扩展资料:
C语言的语法结构:
1、顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构。
2、选择结构
对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。
选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
3、循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。
四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。
参考资料来源:百度百科-C语言
要用函数实现两个数的交换,则函数参数必须定义为指针形式,否则函数中对数值的修改将不会影响主调函数,这是C语言的规则。
所以,以整型为例,自定义函数书写如下:
void swap_int(int*a,int*b)
{
int t;
t = *a;
*a=*b;
*b=t;
}
交换两个数字有很多种方法,这里我使用其中最简单一种完成函数:
void
swap(int
*a,
int
*b)
//参数传入指针,为了交换改变传入变量的值
{
int
c;
//变量c作用域仅仅在该函数内,无法再函数外使用,函数调用完,c的生存期也
c
=
a;
就结束了
a
=
b;
b
=
c;
}
哪里不清楚请提问
因为void
gsd(int
a,int
b)中的a和b在调用时用实参的值进行拷贝,在函数中交换的只是拷贝过来的副本,所以原来的实参值并没有发生交换操作。而在void
gsd(int
a,int
b)中int
类型使a和b的性质发生了变量,它们是“引用变量”,调用时它们就成了实参的“别名”——就是说在函数中操作的是实参本身,所以结果实参发生了交换变化——int
等类型是C++引入的新类型,C是没有的。要搞清楚的是int
是“整型引用”,并不是指针;整型指针是int
*。建议你不要用“鄙视”这样的字眼,谁答得不好你大可不理会;这里没有什么都明白的人,都明白的人不到这里来!不明白可续问……
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("请输入x与y的值,用空格隔开\n");scanf("%d%d",x,y);printf("x=%d,y=%d\n",x,y);swap(x,y);printf("交换后\nx=%d,y=%d\n",x,y);}
扩展资料:
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语言
交换函数很好写。
比较难的读文件。文件格式 与 读语句要 相配。 特别是 多余 的 空行和回车键。
调试时用 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;
}