八块腹肌的胖子 发表于 2020-4-16 16:07:31

求助谭浩强例8.3

求助 谭浩强专门给了错误写法 int *temp,但是int temp中间不加*连编译都编译不了。加上就能编译,但是结果不对
题目8.3 两个整数大小顺序输出,指针类型数据做函数参数:

sunrise085 发表于 2020-4-16 16:24:29

本帖最后由 sunrise085 于 2020-4-16 16:41 编辑

temp定义的是一个int,你却把一个int*赋值给temp当然会出错啦
你没有贴代码,我就简单写了一下。重点写出来了。你的代码你自己去修改吧
#include<stdio.h>
void bijiao(int*max,int*min);
int main()
{
    int *p1,*p2;
    int a,b;
    scanf("%d%d",&a,&b);
    p1=&a,p2=&b;
    bijiao(p1,p2);
    printf("a=%d,b=%d\n",a,b);
    printf("*p1=%d,*p2=%d\n",*p1,*p2);

}
void bijiao(int*p1,int*p2)
{
    int temp;
    temp=*p1;
    *p1=*p2;
    *p2=temp;
}

4goodworld 发表于 2020-4-16 16:31:42

void swap(int* p1,int* p2){
        int temp;
        temp=*p1;
        *p1=*p2;
        *p2=temp

}
利用指针应该这么交换。
页: [1]
查看完整版本: 求助谭浩强例8.3