/*将三个int型整数按升序排列*/
#include <stdio.h>
void sort1(int *n1, int *n2, int *n3)
{
int temp;
if (*n1 > *n2)
{
temp = *n1;
*n1 = *n2;
*n2 = temp;
}
if (*n2 > *n3)
{
temp = *n2;
*n2 = *n3;
*n3 = temp;
}
if (*n1 > *n2)
{
temp = *n1;
*n1 = *n2;
*n2 = temp;
}
}
int main(void)
{
int a, b, c;
scanf_s("%d %d %d", &a, &b, &c);
sort1(&a, &b, &c);
printf("%d-%d-%d", a, b, c);
return 0;
}
<pre name="code" class="plain">//将两个整数值呼唤
#include <stdio.h>
void swap(int *nx,int *ny)
{
int temp=*nx;
*nx=*ny;
*ny=temp;
}
int main(void)
{
int na,nb;
scanf("%d",&na);
scanf("%d",&nb);
swap(&na,&nb); //调用sawp函数时,会将na,nb的地址保存到nx,ny这两个形参中,*nx,*ny分别为na,nb的别名.
printf("整数A是%d\n",na);
printf("整数B是%d\n",nb);
return 0;
}
#include <stdio.h>
int max(int x,int y) //max函数判断最大数
{
int k;
k=(x>y)?x:y;
return k;
}
int main(void)
{
int (*p)(); //定义p是指向函数的指针变量.
int a,b,c;
p=max; //将函数max的入口地址赋给指针变量p.
scanf("%d %d",&a,&b);
c=(*p)(a,b); //用指向函数的指针变量p调用函数.
printf("%d %d %d",a,b,c);
return 0;
}
#include <stdio.h>
int fun1(int a,int b)
{
return a+b;
}
int fun2(int (*p)(),int x,int y) //定义一个指向函数的指针的形参
{
return (*p)(x,y); //用指向函数的指针的参数来调用函数
}
int main(void)
{
int (*p)();
int k;
p=fun1;
k=fun2(p,5,8); //把指向函数的指针作为实参
printf("%d",k);
return 0;
}