为了账号安全,请及时绑定邮箱和手机立即绑定

为什么程序出现段错误呢?怎么改?

为什么程序出现段错误呢?怎么改?

C++
摇曳的蔷薇 2023-03-08 13:09:35
#include<stdio.h>#include<string.h>char* itoa(int i,char *p){char *q=NULL;if(p == NULL){return NULL;}p[0]=(i / 10000) + '0';i=i % 10000;p[1]=(i / 1000) + '0';i=i % 1000;p[2]=(i / 100) + '0';i=i % 100;p[3]=(i / 10) + '0';i=i % 10;p[4]=i + '0';p[5]='\0';q = p;while(*q != '\0' && *q == '0')q++;if(*q != '\0')strcpy(p,q);return p; }int main(void){char buf[10];int a=1;//memset(buf,0x00,sizeof(buf));printf("%s\n",itoa(a,buf));}
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

代码本身没错误,加上memset应该没问题(或者贴错误信息);itoa函数只处理5位,保证a值即可

查看完整回答
反对 回复 2023-03-10
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号