鱼C论坛

 找回密码
 立即注册
查看: 4359|回复: 8

实在看不懂了,求高手支招

[复制链接]
发表于 2013-2-25 22:27:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

//将三个整数x y z按由小到大的顺序列出
#include"stdio.h"

void main()
{
void swap(int a, int b);
int x, y, z, t;
printf("请分别输入三个整数\n");

scanf("%d%d%d", &x, &y, &z);
if(x>y)
{
  swap(x, y);
}
if(x>z)
{
  swap(x, z);
}
if(y>z)
{
   swap(y, z);
}

printf("%d<%d<%d", x, y, z);
}




void swap(int a, int b)
{
    int t;
        t=a;
    a=b;
    b=t;
}

为什么这个程序不能实现排序,求详细解答,哪个地方出问题了,想了很久没想出来
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-25 23:21:00 | 显示全部楼层
你这个swap是值传递,所不能实现交换 功能,函数改成void swap(int &a,int &b),这时是a,b是引用,你也可以使用指针传递值,等你学到后面,你就会明白了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-26 19:39:23 | 显示全部楼层

他这个是C语言,不支持引用,在C++中才有引用这个概念,
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-26 19:39:41 | 显示全部楼层
等你学了指针就很容易明白了~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-27 10:17:20 | 显示全部楼层
akon 发表于 2013-2-26 19:39
他这个是C语言,不支持引用,在C++中才有引用这个概念,

你也可以用指针传递啊,
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-27 11:53:45 | 显示全部楼层
斷點 发表于 2013-2-27 10:17
你也可以用指针传递啊,

是只能指针传递~
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-2-27 21:04:09 | 显示全部楼层
akon 发表于 2013-2-27 11:53
是只能指针传递~

原来只能指针传递、、、、好吧,还没学多少指针,正在钻研中,谢谢各位了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-27 23:23:50 | 显示全部楼层
林和靖 发表于 2013-2-27 21:04
原来只能指针传递、、、、好吧,还没学多少指针,正在钻研中,谢谢各位了

加油·
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-7 19:30:13 | 显示全部楼层
典型的函数传参的问题
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 02:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表