用C语言指针写一个两个数比较大小,相加减,输出最大,最小,两个数的和

如题所述

第1个回答  2013-03-20
指针?你的意思传引用调用么?

void mission(const int *,const int*); //函数原型,若不改变原参数值,加const修饰较为妥当

int main() //在主函数中调用比较函数mission,并传入欲比较的2个变量的地址
{
int a,b;

...
mission(&a,&b);
...

}

void mission(const int *num1,const int *num2) //比较函数mission定义

{
printf("the bigger number is:%d\n",(*num1>*num2)?*num1:*num2); //比较大小
printf(" sum is:%d\n",*num1+*num2); //和
printf(" difference is:%d\n",(*num1>*num2)?(*num1-*num2):(*num2-*num1)); //差

}

个人觉得只是实现两个数比较大小,相加减,输出最大,最小,两个数的和功能的话,没有必要指针实现的,传值调用即可。当然若需要在被调用函数中修改原参数值,或者比较数据量较大为节省内存空间的话也可用传引用调用。

希望可以帮助到你。
第2个回答  2013-03-20
void maxmin(int x[6],int n)
{
int *p,*aend;
p=x;
aend=x+n;
max=min=*x;
for(p=x+1;p<aend;p++) p=x+1 我可以写成p=x吗。
{
if((*p)>max)
{
max=*p;
}
if((*p)<min)
{
min=*p;
}
}
}
void main()
{
int i,a[6];
printf("请输入6个整数\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
printf("\n");
printf("显示最大数和最小数\n");
maxmin(a,6);

printf("最大数是%d,最小数是%d\n",max,min);
return 0;
}

相减和相加你自己弄一下吧,比价简单,加条语句就行了本回答被网友采纳
第3个回答  2013-03-20
#include "stdio.h"
void main()
{

int *p,*q;
int m,n;
p=&m,q=&n;
printf("请输入数据:");
scanf("%d%d",&m,&n);
printf("和:%d\n",*p-*q);
printf("差:%d\n",*p+*q);
printf("大:%d\n",*p>*q?*p:*q);
printf("小:%d\n",*p<*q?*p:*q);

}本回答被提问者采纳
相似回答