关于c++语言中的绝对值问题

我输入了-6,可结果仍然出现的是-6,代码如下,这厮为什么呢?怎么改呢?#include<iostream>usingnamespacestd;intjuedui(int... 我输入了-6,可结果仍然出现的是-6,代码如下,这厮为什么呢?怎么改呢?

#include<iostream>
using namespace std;
int juedui(int *a)
{
return (*a<0)?-*a:*a;
}
int main()
{
cout<<"please...."<<endl;
int a;
cin>>a;
cout<<a<<endl;
return juedui(&a);
}
展开
 我来答
rostyler
2008-09-29 · TA获得超过1791个赞
知道小有建树答主
回答量:758
采纳率:0%
帮助的人:645万
展开全部
这样改。
#include<iostream>
using namespace std;
int juedui(int *a)
{
return (*a<0)?-*a:*a;
}
int main()
{
cout<<"please...."<<endl;
int a;
cin>>a;
cout<< juedui(&a)<<endl;
}

原来的cin>>a;
cout<<a<<endl; 输入以后直接输出了。
执行了绝对值函数以后并没有输出。
hohahevivi
2008-09-29 · TA获得超过139个赞
知道答主
回答量:238
采纳率:0%
帮助的人:0
展开全部
int main()
{
cout<<"please...."<<endl;
int a;
cin>>a;
cout<<a<<endl;

到最后一步就是输出a了,但是从输入到输出,没有对a做过任何运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lsx_1988
2008-09-29 · 超过11用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
最后的 return juedui(&a) 是把值返回给main函数了
而你上一行的cout<<a<<endl;语句是直接把输入的a值输出了,根本没经过运算
最后两行换成这样就行了:
cout<<juedui(&a)<<endl;
system("pause");
return 0;
中间那句是用来看结果的,暂停一下。
如果不用命令行的话,main函数的返回值一般随便就可以了,我习惯上返回0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzzhiv
2008-09-29 · TA获得超过5101个赞
知道大有可为答主
回答量:1万
采纳率:0%
帮助的人:4009万
展开全部
晕~~~
在 juedui 函数里你根本没有对它进行改变~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sys_master
2008-09-29 · TA获得超过7942个赞
知道小有建树答主
回答量:1202
采纳率:0%
帮助的人:727万
展开全部
因为你输出的就是a呀,
cout<<a<<endl; 应该改成cout<<juedui(&a)<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a7a9715
2008-09-29 · TA获得超过1466个赞
知道小有建树答主
回答量:1627
采纳率:0%
帮助的人:781万
展开全部
负号要和数字分开输出的吧?我记得是那样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式