java怎么交換變量值 函數(shù)的交換律?
函數(shù)的交換律?同樣函數(shù)的幾種(1)//errorintSwap1(inta,intb){inttmp;tmpa;ab;btmp;return0;}在函數(shù)Swap1中,a和b的地址的值并沒有什么收集。只
函數(shù)的交換律?
同樣函數(shù)的幾種
(1)
//error
intSwap1(inta,intb)
{
inttmp;
tmpa;
ab;
btmp;
return0;
}
在函數(shù)Swap1中,a和b的地址的值并沒有什么收集。只不過是把10和20賦給了a和b,a和b雖然的值根本不會轉(zhuǎn)變。
(2)
#includestdio.h
intSwap2(int*p1,int*p2)//error
{
int*tmp;
tmpp1;
p1p2;
p2tmp;
return0;
}
intmain()
{
inta10;
intb20;
printf(%d%d
,a,b);
Swap2(a,b);
printf(%d%d
,a,b);
return0;
}
在函數(shù)Swap2中,指針p1和p2共有指向a和b的地址,交換指針p1和p2,只是讓指針p1對準b,指針p2指向a,a和b的值肯定就沒收集。
(3)
#includestdio.h
intSwap3(int*p1,int*p2)
{
int*tmp;
*tmp*p1;
*p1*p2;
*p2*tmp;
return0;
}
intmain()
{
inta10;
intb20;
printf(%d%d
,a,b);
Swap3(a,b);
printf(%d%d
,a,b);
return0;
}
*tmp是一個野指針,又叫做什么懸掛指針,野指針是指就沒朝比較有效(能訪問網(wǎng)絡(luò))的地址的指針。
注:一個指針要想可以修改另一個函數(shù)的定義的數(shù)據(jù),要傳指針和解直接引用
一個變量只能訪問網(wǎng)絡(luò)自己定義的變量,而又不能必掉訪問一個變量,所以我系統(tǒng)會崩潰掉。
(4)
#includestdio.h
intSwap(int*p1,int*p2)//true
{
inttmp;
tmp*p1;
*p1*p2;
*p2tmp;
return0;
}
intmain()
{
inta10;
intb20;
printf(%d%d
,a,b);
Swap(a,b);
printf(%d%d
,a,b);
return0;
}
這個函數(shù)里既傳了指針,又接受打聽一下語句,把*p1解引用的值a賦給tmp這個變量,把*p2解語句的值b賦給p1,把*p2解摘錄的值b賦給p2,這樣就同樣了a和b的值。
C語言基礎(chǔ)題。問:,編寫程序?qū)崿F(xiàn)兩個變量數(shù)值交換?
大一的話就用加減法了#includeltstdio.hgtintmain(){inta,bprintf(