交換(SWAP)のためのC言語関数で記述されました

2つのことを行う必要がありますように別の関数の関数の値を変更し
、ポインタ渡し1.
2.参照解除を。

正しいコード

void Swap(int *p1,int *p2) 
{
	int tmp = *p1;
	*p1 = *p2;
	*p2 = tmp;
}

エラーモデル1:いいえ原因は、ポインタ交換を渡すことはできません

void Swap_err1(int a,int b)
{
	int tmp = a;
	a = b;
	b = tmp;
}

エラーモデル2:未解決の参照の原因は交換することができません

void Swap_err2(int *p1,int *p2)
{
	int *tmp = p1;
	p1 = p2;
	p2 = tmp;
}

エラーモデル3:ぶら下がりコンパイラエラー

void Swap_err3(int *p1,int *p2)
{
	int *tmp;
	*tmp = *p1;
	*p1 = *p2;
	*p2 = *tmp;
}

エラーモデル4:このような対向要素の奇数を含む逆配列を行うように、第三の変数を使用することなく交換、及び中間誤差値の原因値が0となる
逆カウンタアレイ間、及び中間値になりそれ自体は同じ値へのポインタP1、P2点を使用する場合、最終結果は0になり入れ替え

void Swap1_err4(int *p1,int *p2)
{
	*p1 += *p2;
	*p2 = *p1 - *p2;
	*p1 = *p1 - *p2;
}

関数呼び出しで予測不可能なエラーを防止するために、ポインタの使用を注意してください

元の記事を公開 ウォンの賞賛0 ビュー1

おすすめ

転載: blog.csdn.net/veneno_one/article/details/105013332
おすすめ