C语言新手求助一段代码的问题

qq_33046541 2016-09-15 09:37:08
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>
struct Array
{
int len;
int cnt;
int * pbase;
};
void arr_inti(struct Array * pArr,int length);
void arr_show(struct Array *);
bool is_empty(struct Array *);
bool append(struct Array * pArr,int a);
bool is_full(struct Array * pArr);
int main(void)
{
struct Array arr;
arr_inti(&arr,2);
append(&arr,1);
append(&arr,1);

arr_show(&arr);

return 0;
}
void arr_inti(struct Array *pArr,int length)
{
pArr->pbase=(int *)malloc(sizeof(int)*length);
if (NULL==pArr->pbase)
{
printf("内存已满!\n");
}
else
{
pArr->len=length;
pArr->cnt=0;

}
return;
}
void arr_show(struct Array * pArr)
{
if(is_empty(pArr)==1)
{
printf("This array is empty!\n");
}
else
{
for(int i=0;i<pArr->cnt;++i)
{
printf("%d\n",pArr->pbase[i]);
}
}
}
bool is_empty(struct Array * pArray)
{
if(pArray->cnt==0)

return true;

else

return false;

}
bool append(struct Array * pArr,int a)
{
if(is_full(pArr)==1)

return false;


pArr->pbase[pArr->cnt]=a;
(pArr->cnt)++;
return true;

}
bool is_full(struct Array * pArr)
{
if(pArr->cnt=pArr->len)
return true;
else
return false;
}
如上,最后输出的值是随机值,然而我明明用apend函数赋值了呀?
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-09-16
  • 打赏
  • 举报
回复
is_full函数中=应该是==吧
wang0635 2016-09-16
  • 打赏
  • 举报
回复
bool is_full(struct Array * pArr) { if(pArr->cnt=pArr->len) <<<==== 这里!pArr->cnt == pArr->len return true; else return false; }

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧