static不能用于修饰函数参数?

来源:5-12 练习题

centrifugeSIW

2017-08-24 15:54

第一个问题,int getPeachnumebr(static int n);是错的?

第二个问题,int getPeachnumber()

                    static int n;就是对的?

第三个问题,int getPeachnumber(n)=int getPeachnumber(int n)对吗?

第四个问题,int getPeachnumber(n)这里面的形参存储方式是auto?

写回答 关注

2回答

  • qq_大笨熊_1
    2017-08-24 16:59:29
    已采纳

    第一个是错的    

    因为C语言规定 不可以用static 做形参

    为什么这么规定,是因为没必要

    静态局部变量的特点,是生存周期不被函数限制

    每次调用函数时,静态变量还是上次退出的值。 除此外 和普通局部变量没区别

    而参数, 每次调用的时候, 形参的值其实就是实参决定的

    换句话说,每次调用函数, 形参都会被重新初始化或者说赋值

    这样的话, 用static就没什么意义了,以为完全没机会保留上次的值,必然会被重写的。 

    既然没意义,C就规定了,形参不许static

    第二个.是对的

    第三个你中间等号代表什么 值相等 还是语法 

    第四个对的


    centri...

    第三个二者是否可以互相替换而不产生任何影响?

    2017-08-24 17:56:26

    共 1 条回复 >

  • 新生代_白色
    2017-12-03 22:33:28

    关于第三个问题,如果你是想问在声明函数时,变量前的数据类型是否可以不写的话。

    是的,但编译器会有警告,并默认为int型。

    慕盖茨444... 回复慕用4518...

    这里只是定义n的类型吧,没有对它进行赋值操作

    2020-02-11 15:47:56

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926212 学习 · 20797 问题

查看课程

相似问题