求解,大佬棒棒忙

qq_45915282 2020-06-11 06:18:33
我做这个题目,循环10次调用函数fn1(),为什么我的代码运行出来结果不对呢?帮忙看看,谢谢!!!
...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_45915282 2020-06-12
  • 打赏
  • 举报
回复
引用 7 楼 qybao的回复:
在这里也提问了? 在消息里已经给你回了,fn1没有参数,所以调用时不用加参数,而且调用的时候不用加返回值类型int(你那样是声明函数,不是调用) 另外不要在for里return n,如果想每次循环都打印,那就改成printf(“%d\n”, fn1()); 如果想for循环结束再打印,那就改成n=fn1(); 题外话,main函数输入n又不使用,输入n的目的是干啥?
嘿嘿嘿谢谢我是发完帖没人回答后来问你的,谢谢呀
qybao 2020-06-11
  • 打赏
  • 举报
回复
在这里也提问了? 在消息里已经给你回了,fn1没有参数,所以调用时不用加参数,而且调用的时候不用加返回值类型int(你那样是声明函数,不是调用) 另外不要在for里return n,如果想每次循环都打印,那就改成printf(“%d\n”, fn1()); 如果想for循环结束再打印,那就改成n=fn1(); 题外话,main函数输入n又不使用,输入n的目的是干啥?
晚晶 2020-06-11
  • 打赏
  • 举报
回复
关于改法,上面那层楼的兄弟改的就可以,不过fn1的形参列表中用static就让我想吐槽...,那里应该直接上int,无需加static
晚晶 2020-06-11
  • 打赏
  • 举报
回复
最主要的问题在于你第16行的部分,那是一个函数声明语句,这引起了两个问题: 1.函数声明只需要被声明一次,不应该放在一个for循环中被反复使用 2.调用一个在使用前就被定义好的函数,你只需要使用 fn1(n);这一个语句就能调用它 除此之外,在第十六行可以看出你是想要传参进去的,但你之前定义的fn1函数并没有写参数列表,这里也是你的一个错误的写法。
qq_45915282 2020-06-11
  • 打赏
  • 举报
回复
引用 3 楼 WhiteCCai的回复:
看了好久不知道你要干啥,是这样吗 #include "iostream" using namespace std; int fn1(static int n) { n += 1; return n; } int main() { static int n; cout<<"请输入n的值:"; cin>>n; for (int i=0;i<10;i++) { n = fn1(n); } cout<<n; return n; }
没错,是这个意思,但为什么我那样写就是错的呢
  • 打赏
  • 举报
回复
看了好久不知道你要干啥,是这样吗 #include "iostream" using namespace std; int fn1(static int n) { n += 1; return n; } int main() { static int n; cout<<"请输入n的值:"; cin>>n; for (int i=0;i<10;i++) { n = fn1(n); } cout<<n; return n; }
qq_45915282 2020-06-11
  • 打赏
  • 举报
回复
引用 1 楼 Simple-Soft的回复:
没有打印的地方啊?有两个静态变量n
可是一个是主函数里的一个是被调用函数里的不影响啊
Simple-Soft 2020-06-11
  • 打赏
  • 举报
回复
没有打印的地方啊?有两个静态变量n

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧