C语言 形参 静态变量 ~~~求指教 把形参设为static型 每次调用函数 再赋值 这样应该不
C语言形参静态变量~~~求指教把形参设为static型每次调用函数再赋值这样应该不影响结果啊?为什么书上说“C程序函数的形参不可以说明为static型变量”?...
C语言 形参 静态变量 ~~~求指教
把形参设为static型 每次调用函数 再赋值 这样应该不影响结果啊? 为什么书上说“C程序函数的形参不可以说明为static型变量”? 展开
把形参设为static型 每次调用函数 再赋值 这样应该不影响结果啊? 为什么书上说“C程序函数的形参不可以说明为static型变量”? 展开
3个回答
2013-09-21
展开全部
我认为
static型变量能够保持上一次的值不变
那么下一次调用函数时,再对其赋值是无效的
因为它的值上一次的保持不变
比如:
for (i=0; i<3; i++ )
{
static j = 0; //每次循环对 j 赋值为0,可是赋值无效,输出结果还是:1 2 3
j++;
printf("%d ", j);
}
static型变量能够保持上一次的值不变
那么下一次调用函数时,再对其赋值是无效的
因为它的值上一次的保持不变
比如:
for (i=0; i<3; i++ )
{
static j = 0; //每次循环对 j 赋值为0,可是赋值无效,输出结果还是:1 2 3
j++;
printf("%d ", j);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static型变量不论在什么位置声明定义都是存放在全局数据区,仅仅只是作用范围不一样,而所谓的静态只是相对于auto类型而言,因为static的变量能够保持上一次的值不必,如在一个循环体中定义 int i;
for (i=0; i<5; i++ )
{
static j = 0;
j++;
printf("%d\n", j);
}分别输出1 2 3 4 5,而如果没有static 就是1 1 1 1 1,至于形参一般默认是auto类型
for (i=0; i<5; i++ )
{
static j = 0;
j++;
printf("%d\n", j);
}分别输出1 2 3 4 5,而如果没有static 就是1 1 1 1 1,至于形参一般默认是auto类型
追问
嗯嗯 形参是用完即扔的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,这位学长,我刚学,不知道
追问
啊,,,你是哪个学校的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询