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语言的指针章节的内容
一年多之前 回复
caozhy
caozhy 回复Ccccoral: 如果问题解决,麻烦点下我回答右边的采纳,谢谢
一年多之前 回复
caozhy
caozhy 回复Ccccoral: change中你改变指针没用,那是形参,不会反映到实参的。
一年多之前 回复
caozhy
caozhy 回复Ccccoral: 你比较的是你输入的数,而不是地址。
一年多之前 回复
Ccccoral
Ccccoral 谢谢! 不过为什么就多加了几个* 就可以了? 之前在change()中 没给f加* 说的int→int* 错误 什么意思啊
一年多之前 回复
zhangrui2016
zhangrui2016   2016.04.15 00:16

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

Ccccoral
Ccccoral 不好意思 刚网络有点问题 重复太多了
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
Ccccoral
Ccccoral 我在sort()函数中调用了啊 不算吗?
一年多之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!