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

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

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

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 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信