永发信息网

#include<stdio.h> void func(); int main(){ for (i

答案:2  悬赏:0  手机版
解决时间 2021-04-26 12:29
  • 提问者网友:箛茗
  • 2021-04-26 05:16
#include<stdio.h> void func(); int main(){ for (i
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-04-26 06:07
#include
#include
void func();
int main()
{
   for (int i = 0; i < 3; i++)
func();
   //第一次a=16
   system("pause");
}
void func()
{
static int a = 4; //第二次跳过,static成员只能初始化一次
//第一次4
int b = 10; //第二次继续初始化b=10
a += 2; //变为6 //第二次a=16+2=18
a += b; //变为16 //第二次a=18+10=28
//看我头像,有惊喜
printf("%d
", a);
}static变量,只能被初始化一次,无论func调用几次,他都会保存上次的结果

我模拟了2次运行,前面的指数是第一次运行,后面是第二次
推导出第三次等于40 就会了
全部回答
  • 1楼网友:动情书生
  • 2021-04-26 06:38
你定义的二维数组a是a[3][2],b也是,但是你后来的这句swap(a[3][2],b[3][2],6);a和b下标都超过数组的范围了。C语言不检查数组下标,所以它不会是提示错误,而是警告而已。请检查你的下标,c语言下标从0开始到数组大小减1追问提示没有错啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯