| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:一个的指针问题。高手帮忙。。
只看楼主 加入收藏
黒渍
Rank: 2
等 级:论坛游民
帖 子:57
专家分:41
注 册:2009-7-16
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:16 
一个的指针问题。高手帮忙。。
高手帮忙纠错,谢谢
#include"stdio.h"
swap(p1,p2)
int *p1,*p2;
{
    int temp;
    temp=*p1;
    *p1=*p2;
    *p2=temp;
    return(*p1,*p2);
}

main()
{
    int *pointer_1,*pointer_2;
    int a,b;
    scanf("%d,%d",&a,&b);
    pointer_1=&a;
    pointer_2=&b;
    if(a<b)
    {
        swap(pointer_1,pointer_2);
    }
        printf("\n%d,%d\n",a,b);
}
搜索更多相关主题的帖子: 小小的 指针 
2009-07-25 15:01
suming9864
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2009-7-8
收藏
得分:1 
哪错了?我能运行呢??而且也出结果了
2009-07-25 15:11
黒渍
Rank: 2
等 级:论坛游民
帖 子:57
专家分:41
注 册:2009-7-16
收藏
得分:0 
我也能运行,就是结果有问题。。。

踏实学C
/*我的编程飞信群:9401431 互相学习,共同进步*/
2009-07-25 18:07
prankmoon
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:161
专家分:921
注 册:2009-7-21
收藏
得分:2 
没有跟踪调试么?

你输入了什么?结果是什么?而你又想得到的是什么?建议你看看这个链接:https://bbs.bccn.net/thread-41519-1-1.html ,因为提问也是一种艺术。

跟据你的程序,我猜测着输入了:
3,4
输出为:
4,3

你是不是少输入了中间的逗号?

[[it] 本帖最后由 prankmoon 于 2009-7-25 18:49 编辑 [/it]]
2009-07-25 18:40
bym555
Rank: 2
等 级:论坛游民
帖 子:18
专家分:24
注 册:2009-7-17
收藏
得分:1 
最上面的花括号在int *p1,*p2上面,输入数据的时候也要注意要用逗号分隔。
2009-07-25 21:42
明次
Rank: 5Rank: 5
来 自:China
等 级:职业侠客
帖 子:166
专家分:303
注 册:2009-1-11
收藏
得分:2 
1.swap函数你定义了没?
2.main()函数你定义了没?
3.swap函数里的参数的变量你定义了没?

[[it] 本帖最后由 明次 于 2009-7-25 21:47 编辑 [/it]]

、明次℡!           QQ:604622530
2009-07-25 21:46
明次
Rank: 5Rank: 5
来 自:China
等 级:职业侠客
帖 子:166
专家分:303
注 册:2009-1-11
收藏
得分:1 
大家都说能运行,为什么我这编译不能通过 - - 闷...

、明次℡!           QQ:604622530
2009-07-25 21:47
黒渍
Rank: 2
等 级:论坛游民
帖 子:57
专家分:41
注 册:2009-7-16
收藏
得分:0 
回复 4楼 prankmoon
我也输入的3,4
结果是3,-858993460
我用的VS2008,vista系统跟这可有关系??

踏实学C
/*我的编程飞信群:9401431 互相学习,共同进步*/
2009-07-25 22:42
黒渍
Rank: 2
等 级:论坛游民
帖 子:57
专家分:41
注 册:2009-7-16
收藏
得分:0 
回复 4楼 prankmoon
调试就没问题才能运行的

踏实学C
/*我的编程飞信群:9401431 互相学习,共同进步*/
2009-07-25 22:45
prankmoon
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:161
专家分:921
注 册:2009-7-21
收藏
得分:5 
你的代码我在 winxp 下用 VC6 居然没能通过编译:
swap(p1,p2)    // 报错,说是p1和p2没定义
int *p1,*p2;  
所以,我改为如下代码,在我的VC6下运行正常:
程序代码:
#include <stdio.h>

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

int main(void)
{
    int *pointer_1,*pointer_2;
    int a,b;

    scanf("%d,%d",&a,&b);
    pointer_1=&a;
    pointer_2=&b;

    if(a<b)
    {
        swap(pointer_1,pointer_2);
    }
    printf("\n%d,%d\n",a,b);

    return 0;
}

输入:
3,4
输出:
4,3

你既然用的是VS2008,那建议你逐步跟踪调试一下,看看到底是怎么回事。应该与 vista 自身没有关系。
还有,建议你使用新的形参风格:
void swap(int *p1, int *p2)

[[it] 本帖最后由 prankmoon 于 2009-7-25 23:21 编辑 [/it]]
2009-07-25 23:19
快速回复:一个的指针问题。高手帮忙。。
数据加载中...
 
   



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

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