save

liubinbill 2003-04-29 04:29:12
下面这段C程序为何在turboc 2.0下运行时总会异常中断
请高手们给出一点解释
注:程序功能是:从一个字符串的任意位置起取若干个字符构成一个串

#include "stdio.h"

char *mid(char *s,int beg,int count)
{
char *substr;
int i;
if(count>strlen(s))
return "Error!";
substr=(char*)malloc(sizeof(char)*(count+1));
for(i=0;i<count;i++)
substr[i]=s[i+beg-1];
substr[i]='\0';
return substr;
}
main()
{
char *a;
scanf("%s",a);
printf("String a is: %s \n",a);
printf("The result is :\n",mid(a,1,1));
}
...全文
26 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
atto 2003-04-29
  • 打赏
  • 举报
回复
if(count>strlen(s))
改为if(beg+count > strlen(s))

arfi 2003-04-29
  • 打赏
  • 举报
回复
char *a; a未初始化呀。
可以定义为char a[20]
rtdb 2003-04-29
  • 打赏
  • 举报
回复
a没空间。

char *a;
改为
char a[255] ;

69,371

社区成员

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

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