展开全部
你的jiecheng函数定义n的时候没有初始化,也就是说定义以后是存储n的那个位置内存之前的值,是个垃圾数据。
当你输入一个负数的时候,jiecheng函数发现j<0,于是没有为n赋任何值,就跑到了return n;那一句。
最后,你的主函数也要求输出jiecheng的返回值,这个时候返回的自然是n。而之前说过,n在没有赋值的时候保存的是一个垃圾数据。
所以输出的这个就是n保存的垃圾数据!
当你输入一个负数的时候,jiecheng函数发现j<0,于是没有为n赋任何值,就跑到了return n;那一句。
最后,你的主函数也要求输出jiecheng的返回值,这个时候返回的自然是n。而之前说过,n在没有赋值的时候保存的是一个垃圾数据。
所以输出的这个就是n保存的垃圾数据!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每个if或else后面都加上return n试试,用{}括起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个乱码是n未经赋值所致。
把第12行改为
int n=j;
试试?
把第12行改为
int n=j;
试试?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询