首页上一页 1 下一页尾页 2 条记录 1/1页
代码出错
发表在C语言图书答疑
2020-06-18
《C语言项目开发实战入门》第2章 挑战2048 85页-86页
是否精华
是
否
版块置顶:
是
否
int *add(int item[])
{
int i = 0;
int j = 0;
int tmp[4] = {0,0,0,0};
int tep[4] = {0,0,0,0};
for(i = 0; i < 4 ;i++) //记录一行或一例的数字
{
if(item[i] ! = 0)
{
tep[j++] = item[i];
}
}
for(i = 0; i <4 i++)
{
if(tep(i) == tep[i+1])
{
tep[i] += 2;
tep[i + 1] = 0;
score = score+tep[i];
}
}
j = 0;
for(i = 0; i < 4 ;i++) //记录一行或一例的数字
{
if(item[i] ! = 0)
{
tmp[j++] = tep[i];
}
}
return (int *)(&tmp);
}这个的返回值为数组 这个为局部变量 它的生命周期当然也随着它所在的函数一起 随着add函数调用的结束,其中的各种局部变量也将被系统收回,理所当然的数组也将被收回 内容也就没有了
无论你以后的程序如何接受这个数据不一定为原来的值 这是否是构成了野指针
于2020-06-18 19:15:58编辑

购物车
发表新帖
立即签到








