| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:简单元素互换问题
只看楼主 加入收藏
余小杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-2-28
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
简单元素互换问题
我根据书上编的,可为什么结果不对
程序代码:
#include<stdio.h>
int  swap(int x,int y)
{
    int temp;
    temp=x;
    x=y;
    y=temp;
}
main()

 {
    int a,b;
    scanf("%d,%d",&a,&b);
    if(a<b)     swap(a,b);
    printf("\n%d,%d\n",a,b);

 }

求大神教我,谢谢咯
搜索更多相关主题的帖子: color 元素 
2015-08-27 09:48
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:10 
你在函数swap()里创建的变量是自动变量,函数结束后就消失了。对main函数没有实际的影响。
如果一定要用函数去完成,可以用指针(不知道你学到指针没有)。
2015-08-27 10:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
什么叫“结果不对”呀?估计也是上过学的人,怎么连话都说不清楚?

编译失败,就贴出编译器给出的错误信息;
运行结果不符合你的预期,就贴出 你的输入、实际输出、你期待的输出。

程序代码:
#include <stdio.h>

void swap( int *x, int *y )
{
    int temp = *x;
    *x = *y;
    *y = temp;
}

int main( void )
{
    int a, b;
    scanf( "%d %d", &a, &b );
    if( a < b )
        swap( &a, &b );
    printf("max=%d, min=%d\n", a, b );

    return 0;
}
输入 3 4
输出 max=4, min=3
输入 4 3
输出 max=4, min=3

2015-08-27 10:09
余小杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-2-28
收藏
得分:0 
回复 3楼 rjsp
真是万分抱歉,第一次发帖总有点错误,给你添麻烦了,还请原谅!!

不过你这方法是这问题的另一种解法,所以我还是想知道我错哪里了
我输入a=4,b=5 ,预期结果应为a=5,b=4,可结果为4, 4.199308  还劳烦您帮我看一下,哪里错了,3Q

2015-08-27 10:45
余小杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-2-28
收藏
得分:0 
回复 2楼 w906414
这题目就来自指针章节,不过他问的问题是这个程序有没有实现互换,听了您的答案,我知道原来这个程序是行不通的,是我主观异断了,谢谢你一语惊醒梦中人
2015-08-27 10:51
快速回复:简单元素互换问题
数据加载中...
 
   



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

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