まず、「&」と「*」の演算子についてもう一度説明します。
例:
前提pointer_1 =&a
(* pointer_1)++はa ++と同等です。
括弧が必要です。括弧がない場合は、次のようになります。
* pointer_1 ++、ここで++と✳は同じ優先度であり、方向は右から左であるため、次のようになります。
*(pointer_1 ++)
単純なポインタアプリケーション:
2つの整数aとbを入力し、aとbを最初に大きいものから小さいものの順に出力します。
コード例:
#include<stdio.h>
void fun(int *p,int *l);
int main()
{
int *p,*m,a,b;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
p=&a;
m=&b;
if(a<b)
{
fun(p,m);
}
printf("\n%d,%d\n",a,b);
}
void fun(int *p,int *l)
{
int ben;
printf("我在交换中.....");
ben=*p;
*p=*l;
*l=ben;
}
このコードの目的のための演算子&および✳に精通している
1つの間違いは
、比較
を行うときにif(p> l)を記述できず、
if(* p> * l)の値記号を追加する必要があることです。