标题:用指针输出大数在前,小数在后
只看楼主
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
已结贴  问题点数:7 回复次数:2 
用指针输出大数在前,小数在后
比较a,b,先输出大数,后输出小数。
我这里写的程序哪里错了,怎么输出结果总是小数在前,大数在后?
#include<stdio.h>
#include<string.h>
int main()
{
    void swap(int *p1,int *p2);
    int a,b;
    int *x,*y;
    scanf("%d%d",&a,&b);
    x=&a;
    y=&b;
   
    if(a<b)
    swap(x,y);

    printf("a=%d,b=%d\n",*x,*y);

return 0;
}

void swap(int *p1,int *p2)
{
    int *p;
   
        p=p1;
        p1=p2;
        p2=p;
}
搜索更多相关主题的帖子: include 
2017-02-22 09:28
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:7 
指针要这样用才是赋值
void swap(int *p1, int *p2)
{
    int p;

    p = *p1;
    *p1 = *p2;
    *p2 = p;
}
2017-02-22 09:52
悬崖之树
Rank: 2
等 级:论坛游民
威 望:1
帖 子:36
专家分:23
注 册:2013-5-1
得分:0 
程序代码:
#include<stdio.h>
int main () {
    int a, b;
    int *x, *y, *p;
    scanf ("%d%d", &a, &b);
    x = &a;
    y = &b;
    if (a < b) {
        p = x;
        x = y;
        y = p;
    }
    printf("%d大于%d\n",*x, *y);
}
2017-02-22 20:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474427-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099821 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved