C语言简单基础问题(在线等)
请各位大虾帮小弟解答一下intk这个理这个K没有赋初值那么系统认为k是什么?是“空”还是“0”voidfun(){staticintaa+=2;printf("%d",a...
请各位大虾 帮小弟解答一下
int k
这个理这个K 没有赋初值
那么系统认为k是 什么?
是 “空” 还是 “0”
void fun()
{static int a
a+=2; printf("%d",a);
}
main()
{ int cc;
for(cc=1,cc<=4;cc++) fun();
printf("\n")
}
这个a是多少呢???
这题答案是多少呢? 展开
int k
这个理这个K 没有赋初值
那么系统认为k是 什么?
是 “空” 还是 “0”
void fun()
{static int a
a+=2; printf("%d",a);
}
main()
{ int cc;
for(cc=1,cc<=4;cc++) fun();
printf("\n")
}
这个a是多少呢???
这题答案是多少呢? 展开
5个回答
展开全部
1、对于auto自动变量来说是未知。
系统只是开辟了一个地址让你存k这个值,那么这个地址原来是什么数就是什么数。不会自动清空或赋0的,如以下程序:
main()
{int a;
printf("%d",a);}
不同机器输出值不尽相同。
2、对于static局部变量来说会赋初值0(数值变量)或空字符(字符变量),如以下程序:
void fun()
{static int a;
a+=2;
printf("%d",a);}
main()
{int cc;
for(cc=1;cc<=4;cc++)fun();
printf("\n");
}
输出为2468.
系统只是开辟了一个地址让你存k这个值,那么这个地址原来是什么数就是什么数。不会自动清空或赋0的,如以下程序:
main()
{int a;
printf("%d",a);}
不同机器输出值不尽相同。
2、对于static局部变量来说会赋初值0(数值变量)或空字符(字符变量),如以下程序:
void fun()
{static int a;
a+=2;
printf("%d",a);}
main()
{int cc;
for(cc=1;cc<=4;cc++)fun();
printf("\n");
}
输出为2468.
展开全部
输出是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输出一下就知道了 他一般都是以个很大的数字 根据你存储空间的地址分配有关 随即的
static 静态变量初始值是零
所以 2468输出
static 静态变量初始值是零
所以 2468输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k是随机值
static和global都是默认为0的,所以a=0,输出:
2468
(连续数字)
static和global都是默认为0的,所以a=0,输出:
2468
(连续数字)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我在vc里操作过,k应该是个益处值,也就是最大数加1时显示的结果,而a是静态的,他的值应该是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询