用C语言编写程序,输入a和b两个整数,比较两个数的大小,将较大的数放在a中,将较小的数放在b中,

要求通过调用自定义的函数实现,在主函数中输入a和b,首先输出a和b的值,然后调用自定义函数,再次输出a和b的值。(例如:原值a=5,b=6,调用函数后应为 a=6,b=5)要求必须使用指针做函数参数。

第1个回答  2016-12-26
#include<stdio.h>
void maxa(int *a,int *b) { int c; if ( (*a)<(*b) { c=(*a); (*a)=(*b); (*b)=c; } }
void main() { int a,b;
scanf("%d%d",&a,&b); printf("%d %d\n",a,b);
maxa(&a,&b); printf("%d %d\n",a,b);
}追问

不对啊

追答

少写个括号:
void maxa(int *a,int *b) { int c; if ( (*a)<(*b) { c=(*a); (*a)=(*b); (*b)=c; } }

改成
void maxa(int *a,int *b) { int c; if ( (*a)<(*b) ) { c=(*a); (*a)=(*b); (*b)=c; } }

本回答被提问者和网友采纳
第2个回答  2020-11-10
#include <stdio.h>
int duihuan(int* pa, int* pb)
{
    int i = 0;
    i = *pa;
    *pa = *pb;
    *pb = i;
    return 0;
}
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    printf("a=%d,b=%d\n", a, b);
    duihuan(&a, &b);    
    printf("a=%d,b=%d\n", a, b);
    return 0;
}

没有经过编译,大概就这样

追问

有错误啊

蓝色箭头那里

追答

函数名写错了

相似回答