#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef int bool;
#define true 1
#define false 0
struct Arr{
int* pBase;
int len;
int cent;
};
bool append_arr(struct Arr* pArr,int val);
bool is_Full(struct Arr* pArr);
void init_rr(struct Arr* array,int length);
void show(struct Arr* pArr);
bool is_Empty(struct Arr* pArr);
int main(void){
struct Arr arr;
init_rr(&arr,5);
show(&arr);
append_arr(&arr,2);
append_arr(&arr,3);
append_arr(&arr,4);
append_arr(&arr,5);
append_arr(&arr,6);
show(&arr);
return 0;
}
//初始化;
void init_rr(struct Arr* array,int length){
array->pBase = (int*)malloc(sizeof(int)*length);
if(array->pBase = NULL){
printf("动态内存分配失败");
}
else{
array->len = length;
array->cent = 0;
}
}
//判断是否为空;
bool is_Empty(struct Arr* pArr){
if(pArr->cent == 0){
return true;
}
else{
return false;
}
}
//输出数组;
void show(struct Arr* pArr){
if(is_Empty(pArr)){
printf("数组是空的\n");
}
else{
for(int i=0;i<pArr->cent;i++){
printf("%d ",*(pArr->pBase));
}
}
}
//追加数字;
bool append_arr(struct Arr* pArr,int a){
if(is_Full(pArr))
return false;
pArr->pBase[pArr->cent] = a;
(pArr->cent)++;
return true;
}
//判断是否为满;
bool is_Full(struct Arr* pArr){
if(pArr->cent == pArr->len){
return true;
}
else{
return false;
}
}
为什么添加不进去元素啊?是因为函数写的有问题吗(标签-Ar|关键词-bool)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 梦里逆天 2022-09-09 16:09关注
#include<stdio.h> #include<malloc.h> #include<stdlib.h> #define true 1 #define false 0 struct Arr{ int* pBase; int len; int cent; }; bool append_arr(struct Arr* pArr,int val); bool is_Full(struct Arr* pArr); void init_rr(struct Arr* array,int length); void show(struct Arr* pArr); bool is_Empty(struct Arr* pArr); int main(void){ struct Arr arr; init_rr(&arr,5); show(&arr); append_arr(&arr,2); append_arr(&arr,3); append_arr(&arr,4); append_arr(&arr,5); append_arr(&arr,6); show(&arr); return 0; } //初始化; void init_rr(struct Arr* array,int length){ array->pBase = (int*)malloc(sizeof(int)*length); if(array->pBase == NULL){ printf("动态内存分配失败"); } else{ array->len = length; array->cent = 0; } } //判断是否为空; bool is_Empty(struct Arr* pArr){ if(pArr->cent == 0){ return true; } else{ return false; } } //输出数组; void show(struct Arr* pArr){ if(is_Empty(pArr)){ printf("数组是空的\n"); } else{ for(int i=0;i<pArr->cent;i++){ printf("%d ",*(pArr->pBase + i)); } } } //追加数字; bool append_arr(struct Arr* pArr,int a){ if(is_Full(pArr)) return false; else{ pArr->pBase[pArr->cent] = a; (pArr->cent)++; return true; } } //判断是否为满; bool is_Full(struct Arr* pArr){ if(pArr->cent == pArr->len) return true; else return false; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么