先給出錯(cuò)誤示范
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、立山網(wǎng)站維護(hù)、網(wǎng)站推廣。#includevoid swap(int a,int b)
{
int temp=a;
a=b;
b=temp;
}
int main()
{
int a,b;
int temp;
a=1;
b=2;
printf("a=%d b=%d\n",a,b);
swap(a,b);
printf("a=%d b=%d",a,b);
return 0;
}
大多初學(xué)者使用時(shí)都會(huì)犯這樣的錯(cuò)誤,那么為什么輸出來的兩次中a,b的值并沒有發(fā)生交換呢
這里是因?yàn)槿缟系慕粨Q我們只改變了在swap函數(shù)里的值,也就是只改變了形參,待其回到main即會(huì)復(fù)原,所以我們需要用指針把兩個(gè)int的地址傳過去,如下
#includevoid swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int a,b;
int temp;
a=1;
b=2;
printf("a=%d b=%d\n",a,b);
swap(&a,&b);
printf("a=%d b=%d",a,b);
return 0;
}
如果不使用指針,我們也可以把輸出放在swap函數(shù)內(nèi)部,如下:
#includevoid swap(int a,int b)
{
int temp=a;
a=b;
b=temp;
printf("a=%d b=%d",a,b);//改變后
}
int main()
{
int a,b;
int temp;
a=1;
b=2;
printf("a=%d b=%d\n",a,b);//改變前
swap(a,b);
return 0;
}
以上兩種方法即可幫助我們成功交換兩個(gè)值
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧