c语言怎么交换两个数
答: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;} 运行结果:
答:第一种方法,用位运算 define swap(a,b) {a^=b;b^=a;a^=b;} 第二种方法,用加减 define swap(a,b) {a+=b; b=a-b; a=a-b;}
答:至于你问的关于整型的问题,这个也很好理解,在c语言里地址就是整型的,而这两个变量定义的时候也是int整型的,所以无论是地址还是值都是整型的,而又因为*a和*b是一个指针指向的值,所以*a、*b是整型,而&a、&b是指针的地址,所以也是整型。接下来看你第二段程序(你自己写的这个):看程序前...
答:<stdio.h> void main(){void f(int *a,int *b);int *p1,*p2,m,n;scanf("%d%d",&m,&n);p1=&m,p2=&n;f(p1,p2);printf("m=%d,n=%d",m,n);} void f(int *a,int *b){int c;c=*a;*a=*b;*b=c;}
答:include<stdio.h> void swap(int *p,int *q){ int t;t=*p; *p=*q; *q=t;} main(){ int a=5,b=4,*p,*q;p=&a; q=&b;swap(p,q);printf("a=%d b=%d",a,b);return 0;} ..
答:fun2(),看似的确使用了指针,但还是失败,因为这里是将aa和bb的地址给交换了,而并没有交换aa和bb的值。在这里由于未给c赋值,c中并没有确定的值,c中的值是不可预见的。此时c可能指向一个未知的存储单元。而严重的情况是,该单元的数据可能是有用的,因此fun2()不但没有实现两个数的交换,...
答:include <stdio.h> void swap(int *p, int *q);//用传地址的方法交换 void main(){ int i, j;scanf("%d%d", &i, &j);//从键盘输入两个交换的数 swap(&i, &j);//传入i,j的地址 printf("i = %d, j = %d\n", i, j);//输出交换后的两个值 } void swap(int *p, int...
答:楼上的这个 a = a+b;b = a-b;a = a-b;是个方法,是符合我们数学思维的方法,也是最初接触C语言的人可能想到的方法。但是这样编程很不直观,不如t=a;a=b;b=t;来得快。似乎在C++中有swap(a,b)模板函数,直接实现a,b交换。想玩高级一点的话,可采用“换标不换值”的方法,用数组...
答:使用指针交换两个数据,是指,数据本身不变化,只是通过指针的变化,实现两数的交换(实际上交换的是两个指针的值,即:原来指向a数的指针指向b数,原来指向b数的指针指向a数),参考代码如下:include <stdio.h>void main(){ int a,b; int *pa, *pb, *pt ; pa=&a; pb=&b;...
答:第一次找出不同的地方,并将不同之处用1标记并赋给a,然后用b和不同进行对比,反过来得到a的值,a的值发生改变,b变成a的原值,后一步同理。把两个数写成二进制的形式“异”一下就知道了。
网友评论:
水禄18832375852:
用c语言交换两个数 -
51154赫雯
: 1 2 3 4 5 6 7 8 9#include <stdio.h> voidmain(){ intx,y,temp; scanf("%d%d",&x,&y); temp=x; x=y; y=temp; printf("%d %d",x,y); } 运行示例:
水禄18832375852:
在C语言中如何将两个数进行互换? -
51154赫雯
: 定义 A ,B, C, 把A保存到C 把B保存到A 把C保存到B 这要就OK了! int a, b , c; c = a; a = b; b = c;
水禄18832375852:
c语言 交换两个数 -
51154赫雯
: printf("%d %d\n",&d,&f); 把&都去掉,语法不对: printf("%d %d\n",d,f);
水禄18832375852:
C语言两数交换输出 -
51154赫雯
: 将两个数进行互换的方法有两种形式: 1、借助中间变量完成,此方法直观,易理解,使用最多 2、不需要中间变量,通过变量身的运算完成交换. 参考代码: 方法1:int a=2,b=3,t;t=a; //先将a存储到临时变量t中a=b; //将b存储到a中b=t; //将临时变...
水禄18832375852:
c语言如何编写两个数字数值交换
51154赫雯
: 01首先我们在Dev C++软件中新建一个C语言项目,如下图所示02接下来我们在C语言文件中声明两个数字并输出,如下图所示03然后用一个中间变量对他们进行交换,如下图所示04最后运行编写好的C语言文件,我们就可以看到如下图所示的交换结果了End
水禄18832375852:
C语言交换2个数的值 -
51154赫雯
: 不要临时变量的写法#include <stdio.h>int main() {int a ,b;printf("请输入a 和 b 的值:\n");scanf("%d%d",&a,&b) ;printf(" a 的值为%d\n",a);printf(" b 的值为%d\n",b);a = a + b ;b = a + b ;a = b - a ;b = b -2*a ;printf("交换后:");printf("a 的值为%d\n",a);printf("b 的值为%d\n",b);}
水禄18832375852:
C语言编程环境下使用函数交换两个整数 -
51154赫雯
: #include void change(int *a,int *b){ int m; //定义一个临时变量 m = *a; //把a指向的值放到m中 *a = *b; //把b指向的值放到a指向的内存中 *b = m; //把m中的值放到b指向的空间中,函数调用结束时m的生成周期也完了,就释放掉了 } int main(){ int i = 1; int j = 2; change(&i ,&j); //函数调用 printf("%d,%d\n",i,j); return 0; }
水禄18832375852:
C语言关于定义函数实现两个数交换 -
51154赫雯
: 要用函数实现两个数的交换,则函数参数必须定义为指针形式,否则函数中对数值的修改将不会影响主调函数,这是C语言的规则.所以,以整型为例,自定义函数书写如下: void swap_int(int*a,int*b) { int t; t = *a; *a=*b; *b=t; }
水禄18832375852:
c语言怎样交换两个数组 用swap函数 -
51154赫雯
: void swap_array(int *pa,int *pb);main(){ int x[]={0,1,2,3,4}; int y[]={5,6,7,8,9}; swap_array(x,y); int i; for(i=0;i<5;i++) printf("%d",x[i]); printf("\r\n",x[i]); for(i=0;i<5;i++) printf("%d",y[i]); scanf("%d",&i); } void swap_array(int *pa,int *pb){ int n; n= ...
水禄18832375852:
编写C语言一个程序,其功能为:交换两个整数,并输出交换前、后的结果. -
51154赫雯
: #include int main() { int a,b; scanf("%d %d", &a,&b ); printf("a=%d b=%d\n", a,b ); //以下三步,可实现交换 a += b; b = a-b; a = a-b; printf("a=%d b=%d\n", a,b ); return 0; }