#include "stdio.h"
int b=2;
int fun(int a)
{
static int b=3;
int c=0;
if(a%2)
{
static int b=4;
c+=b++;\\这裏的b到底是取那个数字?有三處賦值給b...
}
else
{
static int b=5;
c+=b++;
}
return c+b++;\\返回的值是c 还是c+b++?
}
main()
{
int s=b,i;
for(i=0;i<3;i++)
s+=fun(i);
printf("%d",s);
}
static裏面的static函数
答案:1 悬赏:0 手机版
解决时间 2021-05-04 15:50
- 提问者网友:遮云壑
- 2021-05-03 21:55
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-05-03 22:49
#include "stdio.h"
int b=2;
int fun(int a)
{
static int b=3;
int c=0;
if(a%2)
{
static int b=4;
c+=b++;//取得是和该语句最近的一处static b定义,也就是上面那个static int b=4。最近指的是同在一对{}里面,如果{}里面没有,就往外层找。
}
else
{
static int b=5;
c+=b++;
}
return c+b++;//返回的值是c加上b当前值,然后b的值加1
}
main()
{
int s=b,i;
for(i=0;i<3;i++)
s+=fun(i);
printf("%d",s);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯