1. 程式人生 > >swap()交換函式的用法

swap()交換函式的用法

#include<stdio.h>
void swap1(int a ,int b)//這樣交換實際上是把a和b兩個形參的進行了交換,而主函式中的a b實參是沒有變化的

 int tmp;
 tmp=a;
 a=b;
 b=tmp;
}
void swap2(int *a ,int *b)//這樣交換實際上是把a和b兩個形參的地址進行了交換,而主函式中的a b實參是沒有變化的
{
 int *tmp;
 tmp=a;
 a=b;
 b=tmp;
}
void swap3(int *a ,int *b)通過用指標來訪問資料,而取*號就是把地址裡的內容交換了,就達到了交換的效果

 int tmp;
 tmp=*a;
 *a=*b;
 *b=tmp;
}


int main()

 int a=5;
 int b=8;
 swap1(a,b);
 printf("a=%d,b=%d\n",a,b);
 swap2(&a,&b);
 printf("a=%d,b=%d\n",a,b);
 swap3(&a,&b);
 printf("a=%d,b=%d\n",a,b);
 return 0;
}

結構如下:

a=5,b=8

a=5,b=8

a=8,b=5
所以要交換兩個數,可以用指標來交換資料的內容。

相關推薦

swap()交換函式用法

#include<stdio.h> void swap1(int a ,int b)//這樣交換實際上是把a和b兩個形參的進行了交換,而主函式中的a b實參是沒有變化的 {   int tmp;  tmp=a;  a=b;  b=tmp; } void swap

呼叫函式時,到底什麼時候要用指標接收,看完就不難理解了(Swap交換函式為例)

在這裡我通過講解一個交換函式來講解一下什麼時候傳參需要用指標接收。   這裡先看一段程式碼,很多初學者對指標掌握不夠,經常會寫出這樣的程式碼: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include&

swap 交換函式的四種寫法(轉載)

轉載:mjrao—swap 函式的四種寫法 注:無意中看到了這篇文章,感覺挺有意思的,就把它轉載過來了,順便添加了自己的講解。 二話不說,上程式碼: swap 函式的四種寫法 (1)經典型 --- 嫁衣法 void swap(int *a, int

9. Palindrome Number(注意swap函式用法)

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. class Solut

變數交換 && c++中的swap交換函式

交換兩個變數的值很簡單。 比如 int a = 1; b = 2; 交換a b的值 這個很簡單 很容易想到的是找個中間變數比如 int temp = a; a = b; b = temp; 不需要中間變數可不可以? 當然是可以的。 加減法交換兩變數 a = a

交換函式swap的三種實現方法

本文采用三種方式實現兩個數之間的交換,分別是①藉助輔助變數temp的swap函式,②採用加減法的swap函式 ,③使用異或運算的swap函式。 現在直奔主題: 1、藉助輔助變數temp的swap函式

Linux SWAP 交換分區配置說明(轉)

一個 bcd 文件添加 extend cond amoeba boot 實現 1.5 一.SWAP 說明 1.1 SWAP 概述 當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什

【h5】h5數據跨域交換postMessage用法

回來 log char -a frame 返回 message https 能夠 h5數據跨域交換postMessage用法 來源 1、與通過window.open()打開的新窗口跨域數據交換,代碼如下: (1)源窗口 1 <!DOCTYPE html>

swap交換分區

cal uuid 格式化 tasks part warning sleep gef 配置 swap交換分區虛擬內存(Vitrual memory):即用軟件模擬出來的內存,是將硬盤空間模擬成內存來用,用來補充物理內存不足的問題。在Linux系統中的虛擬內存是用交換分區來實

linux內存不足,swap交換分區創建

buffer acl margin tab oracle數據庫 空間 setting eva ria 為什麽需要swap 根 據Redhat公司的建議,Linux系統swap分區最適合的大小是物理內存的1-2倍.不過Linux上有些軟件對swap分區得需求較大,例如要順 利

Linux環境下增加swap交換分區

xcod 交換分區 hex file count mar linu probe 建立 一、分區做swap新建一個分區,fdisk /dev/sdb,選n,比如說建立個2G的交換分區,就先劃出一個2G的分區,我這裏建立的是/dev/sdb2,再選t指令,hexcode為82

glViewport函式用法

一、 其函式原型為glViewport(GLint x,GLint y,GLsizei width,GLsizei height) x,y 以畫素為單位,指定了視窗的左下角位置。 width,height表示視口矩形的寬度和高度,根據視窗的實時變化重繪視窗。 二、 在預設情況下,視口被設定為佔據視窗

ROW_NUMBER() OVER()函式用法;(分組,排序),partition by (轉)

1、row_number() over()排序功能: (1) row_number() over()分組排序功能:      在使用 row_number() over()函式時候,over()裡頭的分組以及排序的執行晚於 where group by  order

numpy函式:tile函式用法

tile函式位於python模組 numpy.lib.shape_base中,他的功能是重複某個陣列。比如tile(A,n),功能是將陣列A重複n次,構成一個新的陣列 from numpy import * #initialize the array a = [0,1,2]

Oracle單行函式用法

  單行函式分為五種型別:字元函式、數值函式、日期函式、轉換函式、通用函式。   1.字元函式:   對於輸入的字元轉換為需要轉為的字元或數值。   upper()大寫        --小寫字母轉為大寫字母      --對於表指定

C語言幾個函式用法小結

1.char *ultoa(unsigned long value,char *string,int radix)  將無符號整型數value轉換成字串並返回該字串,radix為轉換時所用基數  2.char *ltoa(long value,char *string,i

numpy中flatten()函式用法

flatten是numpy.ndarray.flatten的一個函式,其官方文件是這樣描述的: ndarray.flatten(order='C') Return a copy of the array collapsed into one dimension. Parameters:

C語言 swap交換值的方式

C語言 swap交換值的方式   方式一:(中間值) void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; }   方式二:(異或) void swap(int *

strtol函式用法

之前想用C寫MD5函式用法,中間設計大量進位制轉換的內容,於是就查到了strtol這個函式 但是發現之前對其認識上有一些偏頗,所以把它的用法記錄下來 strtol是一個C語言函式,作用就是將一個字串轉換為長整型long,其函式原型為 long int strtol (const

getline() 函式用法

本文轉自:http://blog.sina.com.cn/s/blog_60263c1c0101ck25.html 學習C++的同學可能都會遇到一個getline()函式,譬如在C++premer中,標準string型別第二小節就是“用getline讀取整行文字”。書上給的程式如下: