欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

c語言中實(shí)現(xiàn)兩個(gè)值互換的函數(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作為實(shí)參傳遞給n1和n2,n1和n2實(shí)現(xiàn)了互換,但是值傳遞是單向的,n1和n2的值并不能返回到實(shí)參a、b中,因此a,b還是原來的值 
    
    printf("swapped a = %d\n", a);
    printf("swapped b = %d\n", b);
    
    return 0;
}

2、將指針作為實(shí)參,可以對(duì)該指針指向的對(duì)象,也就是實(shí)參進(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的指針作為實(shí)參傳遞給指針變量n1和n2,n1和n2稱為指向a和b的指針,*n1和*n2分別為a和b的別名,對(duì)*n1和n2進(jìn)行修改,就相當(dāng)于對(duì)a和b進(jìn)行修改 
    
    printf("\nswapped a = %d\n",a);
    printf("swapped b = %d\n", b);
    
    return 0;
}

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

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

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

然而在swap(int x,int y)被調(diào)用時(shí),實(shí)參進(jìn)行副本初始化,函數(shù)并沒有訪問調(diào)用傳遞的實(shí)參本身,因而也不會(huì)修改實(shí)參的值。
那么下列函數(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語言中怎么實(shí)現(xiàn)交換函數(shù)呢?
利用指針值交換實(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語言實(shí)現(xiàn)兩個(gè)值互相交換的函數(shù)的文章就介紹到這了,更多相關(guān)c語言兩個(gè)值互換函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論