【C】交换值

交换 int a, int b:                           |     交换 int *p, int *q 的地址

void ( int *a, int *b)                        |      void( int **p, int **q)

{                                                   |      {

  int temp ;                                 |          int *temp;

  temp = *a;                               |              temp = *p;

  *a = *b;                                   |              *p = *q;

  *b = temp;                               |               *q = temp;

  return ;                                    |                return ;

}                                                   |        }

|

时间: 2024-07-29 03:33:16

【C】交换值的相关文章

两个变量交换值的方法

使用中间变量 int n1=10, n2=20; int tmp = n1; n1 = n2; n2 = tmp; Console.WriteLine("n1={0},n2={1}", n1, n2); Console.ReadKey(); 2.加减法 int n1 = 10, n2 = 20; n1 = n1 + n2; n2=n1-n2; n1 = n1 - n2; Console.WriteLine("n1={0},n2={1}", n1, n2); Cons

PHP不借助第三个变量交换值

list($a, $b) = array($b, $a);

两个变量交换值的几种方法

交换两个变量值得方法总结了一下使用中间变量   int n1=11, n2=10; int tmp = n1; n1 = n2; n2 = tmp; Printf("n1=%d,n2=%d", n1, n2); return 0;  加减法 int n1 = 11, n2 = 10; n1 = n1 + n2; n2=n1-n2; n1 = n1 - n2; Printf("n1=%d,n2=%d", n1, n2); return 0;  堆栈 int n1 =

只用两个变量交换值、杂记

第一种方法: 1 int a = 3; 2 int b = 5; 3 a = a + b; 4 b = a - b; 5 a = a - b; 缺点:a和b是很大的数的话容易溢出. 第二种方法: int a = 3; int b = 5; a = a ^ b; b = a ^ b; a = a ^ b; "^"是异或运算,这样就不会有溢出的问题了. 00000011 ^ 00000101 等于 00000110 00000110 ^ 00000101 等于 00000011 1.str

第二次作业--定义指针交换值

#include<stdio.h> void swap(int *a,int *b)//定义交换函数 { int num; num = *a; *a = *b; *b = num; } /** @ALMS */ int main(void) { int a=0,b=99,*p1,*p2; p1 = &a; p2 = &b; printf("%d %d\n",*p1,*p2);//输出转换前 swap(p1,p2);//传值交换 printf("%d

黑马程序员-C语言基础:两个变量交换值的方法

学习任何语言基础时,两个数值得交换是必须掌握的,下面简绍3中方式(c语言) 方法一:利用数学的计算技巧 1 #include <stdio.h> 2 int main() 3 { 4 5 int a =10, b = 20; 6 7 printf("交换前a=%d, b=%d\n", a, b); 8 9 a = a - b; 10 b = a + b; 11 a = b - a; 12 13 printf("交换后a=%d, b=%d\n", a, b

Java交换值及中间缓存机制

 实现交换int a,b的值的函数,C++可以采用引用或指针传递的方法,当Java不行: 因为Java的参数传递机制与C++不同(http://blog.csdn.net/woliuyunyicai/article/details/44096043), 如下方法均不能够实现: public void swap(int x, int y) { int temp = x; x = y; y = x; } public void swap(Integer x, Integer y) { Integ

运用异或运算实现两个数不通过中间变量交换值的原理分析

或许对于像我现在这样的初学者很多都没见过这个符号 ^ 这个是个异或运算的符号,好的,我们现在开始分析它的运行原理! 异或运算的知识请点击此连接后了解 http://baike.baidu.com/view/1452266.htm 将i和j的初始值给2进制化后 分别为 10 -- 05  -- 12  -- 01 10的二进制就为1010 ----------------------------- 5 -- 1 2 -- 0 1 5的二进制就为 101 第一步: i=i^j; 好了,我们将2个数都

Java 两个变量交换值

package test; public class Test {    public static void main(String[] args) {        int a, b;        a = 10;        b = 12;        System.out.println(a + "  " + b); /*         * 借助第三方变量 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用.         * 在实际软件开发