㈠ c语言交换两个数字的代码
首先要捋顺一下,先看第一段程序。这段程序的目的就是为了将两个变量的数值进行交换。此时要明白指针的使用方法,这里的交换函数是void swap(int &x, int &y),即无返回值的函数,函数传递的参数是int &x和int &y,这两个东西是什么呢?这两个东西是定义的引用,而这个我们就可以理解为是两个用来存储传递进来的参数的地址的变量(这么说可能有点乱,其实就是将调用该函数是时传递进来的变量的地址给这两个参数),所以如果在这个swap函数中对这两个参数操作时,实际上就是对传递进来的那两个变量进行操作。至于你问的关于整型的问题,这个也很好理解,在c语言里地址就是整型的,而这两个变量定义的时候也是int整型的,所以无论是地址还是值都是整型的,而又因为*a和*b是一个指针指向的值,所以*a、*b是整型,而&a、&b是指针的地址,所以也是整型。
接下来看你第二段程序(你自己写的这个):
看程序前请仔细查看关于函数方面的资料,至于你这个return为什么是错的这个问题其实很简单,首先要了解一个函数的定义,定义函数简单的可以分为有返回值和无返回值的,有返回值的定义类似这样
int abc();
float bcd();
如上所示,函数名什么的都好理解,函数名前面的"int"和"float"是指函数返回的类型,即你这个函数在执行完之后需要用return语句返回一个值,而这个返回类型就是指这个返回值的类型。
还有一种是不需要返回值的,即
void abc();
void cde();
这类函数在执行完成后不需在最后添加return语句来返回值,如果添加了也用不了。
而你写的这个函数定义的是
int swap(int x,inty)
这里声明的是一个需要返回整型变量的函数,而这个函数里你的返回值语句return后没有跟任何变量或值,程序不知道你返回的是什么东西,所以会报错,这里一般都会填写return 0;表示程序执行完成。当然这个0也可以换成整型的变量。
最后说一下你这个程序,你这个程序在执行完成后是不会将需要交换的变量a和b的值进行交换的。这个关系到形参和实参的概念,请仔细查看书籍或看一些例子,你这个只是将形参的值交换了,真正的需要交换的值不会改变,也就是说你只是将a和b的两个值复制了一份,然后将复制了的那个交换了,当swap函数完成后又将复制了的那份删除掉了,所以说,不管怎样最初的a和b都没有受到任何影响。
㈡ c语言,两数是怎样互换顺序的
其实就是内存地址的内容互换了;
p1 = &a1,就是取了a1在内存中的地址给p1,这个指针,那么p1就指向了a1的那块内存。
同理p2指向a2的内存。
然后*p1是取p1内存中的内容,也就是a1,赋值给a;
然后把*p2把p2内存的内容给*p1指向的内存。然后把a的值给p2指向的内存,*p2 = a;完成值的互换。
㈢ C语言输入两个数,将他们顺序调换
形参发生了改变
就是FUN的两个参数调换了但是实参
x和y并不会调换
可以用指针变量来实现参数x和y的调换fun(char
*a,char
*b){char
ch;</p><p>ch=*a;</p><p>*a=*b;</p><p>*b=ch;</p><p>}从main函数中传递两个参数x和y的指针变量,这样得到的结果的变了
㈣ 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);}
(4)交换两个数的顺序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;
}
运行结果:
(5)交换两个数的顺序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语言中如何将两个数进行互换
定义 A ,B, C,
把A保存到C
把B保存到A
把C保存到B
这要就OK了!
int a, b , c;
c = a;
a = b;
b = c;