最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c語言實現(xiàn)兩個值互相交換的函數(shù)

 更新時間:2021年05月29日 10:23:12   作者:小蝦米2018  
本文通過代碼給大家介紹c語言實現(xiàn)兩個值互相交換的函數(shù),通過實例代碼給大家講解的很詳細(xì),具有一定的參考借鑒價值,對c語言兩個值互換函數(shù)相關(guān)知識感興趣的朋友一起看看吧

c語言中實現(xiàn)兩個值互換的函數(shù)。

1、

#include <stdio.h>

void swap(int n1, int n2)
{
    int tmp;
    tmp = n1;
    n1 = n2;
    n2 = tmp;
}

int main(void)
{
    int a, b;
    puts("please input two integers.");
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%d", &b);
    
    swap(a, b);  //a、b作為實參傳遞給n1和n2,n1和n2實現(xiàn)了互換,但是值傳遞是單向的,n1和n2的值并不能返回到實參a、b中,因此a,b還是原來的值 
    
    printf("swapped a = %d\n", a);
    printf("swapped b = %d\n", b);
    
    return 0;
}

2、將指針作為實參,可以對該指針指向的對象,也就是實參進(jìn)行修改

#include <stdio.h>

void swap2(int *n1, int *n2)
{
    int tmp;
    tmp = *n1;
    *n1 = *n2;
    *n2 = tmp;    
} 

int main(void)
{
    int a, b;
    puts("please input two integers.");
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%d", &b);
    
    swap2(&a, &b); //將a和b的指針作為實參傳遞給指針變量n1和n2,n1和n2稱為指向a和b的指針,*n1和*n2分別為a和b的別名,對*n1和n2進(jìn)行修改,就相當(dāng)于對a和b進(jìn)行修改 
    
    printf("\nswapped a = %d\n",a);
    printf("swapped b = %d\n", b);
    
    return 0;
}

ps:下面看下C語言實現(xiàn)兩數(shù)交換函數(shù)

我們可以引入一個簡單的中間變量t進(jìn)行兩個數(shù)值交換。

int t;
t=x;
x=y;
y=t;

然而在swap(int x,int y)被調(diào)用時,實參進(jìn)行副本初始化,函數(shù)并沒有訪問調(diào)用傳遞的實參本身,因而也不會修改實參的值。
那么下列函數(shù)

void swap(int x, int y)
{
       int t;
       t=x;
       x=y;
       y=t;
}

將達(dá)不到交換的目的。

在C++中我們可以使用引用形參達(dá)到目的:

void swap(int &x, int &y)
{
       int t;
       t=x;
       x=y;
       y=t;
}

那么在C語言中怎么實現(xiàn)交換函數(shù)呢?
利用指針值交換實現(xiàn)

#include<stdio.h>
void swap(int *x, int *y)
{
 int t;
    t=*x;
 *x=*y;
 *y=t;
}
int main()
{
 int a=1,b=2;
 swap(&a,&b);
 printf("a=%d,b=%d",a,b);
 return 0;
}

到此這篇關(guān)于c語言實現(xiàn)兩個值互相交換的函數(shù)的文章就介紹到這了,更多相關(guān)c語言兩個值互換函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c語言實現(xiàn)足球比賽積分統(tǒng)計系統(tǒng)

    c語言實現(xiàn)足球比賽積分統(tǒng)計系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了c語言實現(xiàn)足球比賽積分統(tǒng)計系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言使用sizeof和strlen計算數(shù)組和指針大小

    C語言使用sizeof和strlen計算數(shù)組和指針大小

    sizeof()一般是用來求取?變量?或者?類型?所占內(nèi)存空間的大小,strlen()是一個庫函數(shù)是專門用來計算?字符串?長度的,下面我們就來看看C語言如何使用sizeof和strlen計算數(shù)組和指針大小吧
    2023-11-11
  • C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng)

    C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 關(guān)于AVLTree(C++實現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    關(guān)于AVLTree(C++實現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    這篇文章主要介紹了關(guān)于AVLTree(C++實現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • C語言?sizeof關(guān)鍵字的具體使用

    C語言?sizeof關(guān)鍵字的具體使用

    在C語言中,sizeof是一個非常常用的關(guān)鍵字,本文主要介紹了C語言?sizeof關(guān)鍵字的具體使用,包括sizeof 關(guān)鍵字的語法、用法、特點和注意事項,感興趣的可以了解一下
    2024-02-02
  • C++實現(xiàn)地鐵自動售票系統(tǒng)程序設(shè)計

    C++實現(xiàn)地鐵自動售票系統(tǒng)程序設(shè)計

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)地鐵自動售票系統(tǒng)程序設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 淺析C/C++中的可變參數(shù)與默認(rèn)參數(shù)

    淺析C/C++中的可變參數(shù)與默認(rèn)參數(shù)

    C支持可變參數(shù)的函數(shù),這里的意思是C支持函數(shù)帶有可變數(shù)量的參數(shù),最常見的例子就是我們十分熟悉的printf()系列函數(shù)。我們還知道在函數(shù)調(diào)用時參數(shù)是自右向左壓棧的
    2013-09-09
  • c++中bitset的常見用法示例詳解

    c++中bitset的常見用法示例詳解

    C++ 中的?bitset?是一個用于處理固定大小位序列的模板類,提供高效的位操作功能,這篇文章主要介紹了c++中bitset的常見用法,需要的朋友可以參考下
    2025-02-02
  • 詳解原碼、反碼與補(bǔ)碼存儲與大小

    詳解原碼、反碼與補(bǔ)碼存儲與大小

    這篇文章主要介紹了詳解原碼、反碼與補(bǔ)碼存儲與大小的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++設(shè)計模式之簡單工廠模式實例

    C++設(shè)計模式之簡單工廠模式實例

    這篇文章主要介紹了C++設(shè)計模式之簡單工廠模式實例,工廠模式有一種非常形象的描述,建立對象的類就如一個工廠,而需要被建立的對象就是一個個產(chǎn)品,需要的朋友可以參考下
    2014-09-09

最新評論

新兴县| 平顶山市| 芒康县| 临猗县| 清丰县| 茌平县| 江口县| 牟定县| 四子王旗| 兴安盟| 垫江县| 大安市| 双鸭山市| 巩留县| 山东| 喀喇| 隆昌县| 攀枝花市| 石屏县| 梅河口市| 南川市| 荥阳市| 平山县| 蓬安县| 垣曲县| 平潭县| 攀枝花市| 调兵山市| 荣昌县| 白玉县| 宜宾县| 罗甸县| 肥乡县| 湘西| 三江| 临城县| 肃南| 错那县| 黄平县| 蓝山县| 南雄市|