泪茶毛笔
2021-07-16 09:46
采纳率: 100%
浏览 6

C语言练习题,关于自定义函数,然后运算,求解释


#include<stdio.h>
 int acc(int n)

 {
     static int f;
     f=f+n;
     return f;
     
 }
 int main(){
     
     int i;
     for(i=1;i<=5;i++)
     printf("%d",acc(i));
     return 0;
 }

以上是程序,运行结果是:1361015
我的思路是i是n 然后f的值从哪里来呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-Fay 2021-07-16 09:49
    已采纳

    f=f+n; f的值为累加n的值,还有什么地方不清楚呢

    1 打赏 评论
  • 素璃 2021-07-16 09:50

    static int f的问题导致了f一直存在,你去看一下static的定义应该就明白了

    1 打赏 评论
  • 土也山 2021-07-17 16:52

    static 定义的静态变量,编译时赋初值(如果没指定,默认是0),并且只赋初值一次,生存期一直到程序运行结束。

    打赏 评论

相关推荐 更多相似问题