2 ccccoral Ccccoral 于 2016.04.14 22:31 提问

C++中用指针比较三个数的大小

#include
using namespace std;
void sort(int *x, int *y, int *z);
int main()
{
int a, b, c, a1, b1, c1;
cout << "Please enter 3 integers:";
cin >> a >> b >> c;
a1 = a, b1 = b, c1 = c;
sort(&a1, &b1,&c1);
cout << a << " " << b << " " << c << " " << "in sorted order is ";
cout << a1 << " " << b1 << " " << c1 << endl;
return 0;
}
void sort(int *x, int *y, int *z)
{
void change(int *i, int *j);
if (x>y)change(x, y);
if (x>z)change(x, z);
if (y>z)change(y, z);
}
void change(int *i, int *j)
{
int *f;
f = i;
i = j;
j = f;
}

图片说明
不知道为什么运行没问题 可是就是比较不出结果
请赐教~

5个回答

caozhy
caozhy   Ds   Rxr 2016.04.14 22:43
已采纳
 #include<iostream>
using namespace std;
void sort(int *x, int *y, int *z);
int main()
{
int a, b, c, a1, b1, c1;
cout << "Please enter 3 integers:";
cin >> a >> b >> c;
a1 = a, b1 = b, c1 = c;
sort(&a1, &b1,&c1);
cout << a << " " << b << " " << c << " " << "in sorted order is ";
cout << a1 << " " << b1 << " " << c1 << endl;
return 0;
}
void sort(int *x, int *y, int *z)
{
void change(int *i, int *j);
if (*x>*y)change(x, y);
if (*y>*z)change(y, z);
if (*x>*y)change(x, y);
}
void change(int *i, int *j)
{
int f;
f = *i;
*i = *j;
*j = f;
}
btx9527
btx9527 回复Ccccoral: *是对指针解引用,指针没有解引用值是存的是地址,*解引用后值是其所指向地址中的内容的值。比如:int a = 1; int * b = &a; b的值是a的地址, 而*b 才是a的值,即*b = 1。你可以去好好看看C语言的指针章节的内容
大约 2 年之前 回复
caozhy
caozhy 回复Ccccoral: 如果问题解决,麻烦点下我回答右边的采纳,谢谢
大约 2 年之前 回复
caozhy
caozhy 回复Ccccoral: change中你改变指针没用,那是形参,不会反映到实参的。
大约 2 年之前 回复
caozhy
caozhy 回复Ccccoral: 你比较的是你输入的数,而不是地址。
大约 2 年之前 回复
Ccccoral
Ccccoral 谢谢! 不过为什么就多加了几个* 就可以了? 之前在change()中 没给f加* 说的int→int* 错误 什么意思啊
大约 2 年之前 回复
zhangrui2016
zhangrui2016   2016.04.15 00:16

看看你的代码,函数都没调用,全在主函数中直接输出了,你仅仅做了一次输出,没做任何操作。

Ccccoral
Ccccoral 不好意思 刚网络有点问题 重复太多了
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
大约 2 年之前 回复
qq_16751409
qq_16751409   2016.04.15 09:19

没有调用chang函数,肯定没法比较啊

bobbylee0810
bobbylee0810   2016.05.05 19:33

你比较的不是地址么?

qq_34614890
qq_34614890   2016.05.06 10:41

指针问题,你只是比较了地址,而非地址中的数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!