当前位置:首页 » 编程语言 » c语言不用第三方做数值交换
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不用第三方做数值交换

发布时间: 2022-06-11 09:16:19

Ⅰ 用c语言实现从a到b的数据交换(不能使用第三个寄存器)

两个数交换应该有两种方法:一种是交换它们所指的地址,一种是交换它们的值。

从你的int *t=a;看你把a的地址先保存,应该是想交换他们的地址达到交换两数的目的。但要改变指针所指向的地址需要用二级指针(自已可以仔细理解下),所以你应该这样写才是交换他们的地址:
void swap( int **a, int **b)
{
int *t= *a;
*a= *b;
*b= t;
}
上面这个函数调用有点麻烦:
int x=9,y=0;
int *p1= &x;
int *p2= &y;
swap( &p1, &p2);

如果是交换地址所指向的地址的内容用一级指针就可以了。
void swap( int *a, int *b)
{
int t=*a;
*a= *b;
*b=t;
}
这种调用也很简单
int x, y;
swap( &x, &y);

Ⅱ c语言怎么不引入第三个变量是两个值交换

#include <stdio.h>

void swap(void *a,void *b,int size)

{

int i;

char *p=a,*q=b;

for(i=0;i<size;++i,++p,++q)

{

*q^=*p;

*p^=*q;

*q^=*p;

}

}

int main()

{

int a=1,b=2;

swap(&a,&b,sizeof(a));

printf("%d %d",a,b);

return 0;

}

Ⅲ C语言数值的交换

1
a
b中oxa23错误;c
4c1.5错误;d
10,000错误
2
c
for是关键字不能他用。
3
b
(1/2)*(a+b)*h中(1/2)直接为0,要想一样应该为:(1.0/2)或(1/2.0)
4
d
k+1没有改变k的值。
5
d
kk>=48
&&
kk<91,这个范围的符号不仅有大写字母还有别的。
6.正确,这是因为putchar()包含在改头文件中。
n=n/10;

Ⅳ 在C语言中如何将两个数进行互换

将两个数进行互换的方法有两种形式:

1、借助中间变量完成,此方法直观,易理解,使用最多

2、不需要中间变量,通过变量身的运算完成交换。

参考代码:

方法1:
inta=2,b=3,t;
t=a;//先将a存储到临时变量t中
a=b;//将b存储到a中
b=t;//将临时变量中的原a值存储到b中
printf("a=%db=%d ",a,b);

方法2:
inta=2,b=3,t;
a+=b;//把两数之和存到a中
b=a-b;//用两数和减去b可得原a,存储到b中
a=a-b;//因为b现在是原a值,所以,用两数和减去b(原a)可得原b,存储到a中
此方法,还可以用异或运算来实现,原理相同。

Ⅳ C语言交换两个变量数值的几种方法

int 类型为例, 可以用两种

安全交换: 使用中间变量(无论直接用,还是用指针或者引用, 都一样)

inta=1,b=2;
intt;
t=a;
a=b;
b=t;

不安全交换: 不使用中间变量,可能会溢出

inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;

Ⅵ 有a b两个变量,要求不使用第三个变量,交换a b的值,用c语言这么写

#include <iostream>
using namespace std;
int main()
{
int a=100,b=3;
// 下面3句是关键
a=a+b;
b=a-b;
a=a-b;
printf("%d %d\n",a,b);
}

Ⅶ c语言中不引入第三变量交换两个变量

两个变量交换的三种方法
第一种
借助第三变量来实现;
第二种方法是利用加减法实现两个变量的交换,
第三种方法是得用位异或运算来实现,也是效率最高的一种
加减法交换
int
a
=
1;
int
b
=
2;
a
=
a
+
b;
b
=
a
-
b;
a
=
a
-
b;
位异或运算交换
int
a
=
1;
int
b
=
2;
a
=
a
^
b;
b
=
a
^
b;
a
=
a
^
b;

Ⅷ c语言如何编写两个数字数值交换

我们用C语言的时候,经常需要将两个数字交换,那么如何实现呢?下面小编给大家分享一下。
工具/材料
Dev C++
01
首先我们在Dev C++软件中新建一个C语言项目,如下图所示
02
接下来我们在C语言文件中声明两个数字并输出,如下图所示
03
然后用一个中间变量对他们进行交换,如下图所示
04
最后运行编写好的C语言文件,我们就可以看到如下图所示的交换结果了

Ⅸ c语言怎么实现两个数据交换

将两个数进行互换的方法有两种形式:
1、借助中间变量完成,此方法直观,易理解,使用最多
2、不需要中间变量,通过变量身的运算完成交换。

Ⅹ 有a b两个变量,要求不使用第三个变量,交换a b的值,用c语言这么写

a=a+b这个得到的是a和b的和;也就是这一步运行之后当前的a的值就是a,b之和。
b=a-b,既然a是他们两个的和,那么a-b得出的肯定是最初的a的值;这一步运行之后,b的只就是原始a的值;
a=a-b,既然b是原始a的值,a是原始a和原始b的和,那么差值肯定就是原始b的值。