中易网

3) 请指出下列程序中的错误并且修改

答案:2  悬赏:30  
解决时间 2021-03-17 05:49
void GetMemory(char *p){
p=(char *)malloc(100);
}
void Test(void){
char *str=NULL;
GetMemory=(str);
strcpy(str,"hello world");
printf(str);}
最佳答案
改法很多,这里提供两种,具体错误见注释。
方法1:
void GetMemory(char **p){//要改为指针的指针.
if((*p=(char *)malloc(100))==NULL){//要验证是否成功.
printf("Can't get memory...");
exit(0);
}
}

void Test(void){
char *str=NULL;//
GetMemory(&str);//中间不能有=号,应改为GetMemory(&str);
strcpy(str,"hello world");
printf(str);
free(str);//要释放内存.
}

方法2:
char *GetMemory(void){//要改为返回指针.
char *p;
if((p=(char *)malloc(100))==NULL){//要验证是否成功.
printf("Can't get memory...");
exit(0);
}
return p;
}

void Test(void){
char *str=NULL;//
str=GetMemory();//改为把返回的指针赋给str
strcpy(str,"hello world");
printf(str);
free(str);//要释放内存.
}
这两种改法都可以用下面的代码调用验证:
void main(void){
Test();
printf("\n");
}
全部回答
可以对单位处3000元以上3万元以下的罚款。经县级以上人民政府财政部门责令限期改正而逾期未改正的,由市级人民政府财政部门予以通报。 应改为:由县级以上人民政府财政部门责令限期改正,可以对单位并处三千元以上五万元以下的罚款;对其直接负责的主管人员和其他直接责任人员,可以处二千元以上二万元以下的罚款;属于国家工作人员的,还应当由其所在单位或者有关单位依法给予行政处分: 有前款所列行为之一,构成犯罪的,依法追究刑事责任。 会计人员有第一款所列行为之一,情节严重的,由县级以上人民政府财政部门吊销会计从业资格证书。有关法律对第一款所列行为的处罚另有规定的,依照有关法律的规定办理。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
移动随意玩流量包怎么查询用了多少流量
兰州糖尿病肾病专科医院地址在哪,我要去那里
问你个是 聚氨酯发泡胶填缝剂生产厂办理需要
哪里可以学到港式蒸蛋糕的做法
女人吃什么可以让皮肤紧致
塘沽附近有没有卖鱼食的地方
谁能帮忙答下PS4的题
近些年蒙古马肉价格怎么样
周末网银跨行大额转账已经操作成功了为什么两
武原镇超车道轮胎经营部怎么去啊,有知道地址
西安二手厨具市场在哪
手机自动安装软件,而且广告太多了
《你的选择,决定你的价值》作文
为了保护人类赖以生存的地球,每年的哪月哪日
高考制度的改革,今后只有本科和专科,那么对
推荐资讯
香港泓成国际贸易有限公司怎么样
广福记冒菜与三顾冒菜相比,它们各自的优势是
早上十点半寄的(顺丰)快递(同城)大概什么
成都儿童医院做包皮手术要排队吗
双色球摇奖用球更换周期
新手怎么开网店详细步骤
去泰国旅游需要准备什么?_?
刚租的门面才几天就要拆房东属于诈骗吗
东三路/北矿中街(路口)地址有知道的么?有点
所有的红绿灯都会拍照吗?
跪求中专生移动通信手机维修方向实习报告..
中国邮政储蓄银行湖丰营业所在什么地方啊,我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?