QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 648|回复: 2

C语言问题!

[复制链接]
发表于 2004-11-23 11:05:45 | 显示全部楼层 |阅读模式
C语言问题!

大家帮忙看看这段代码哪里出错了!
char *str = "abcdefghijklmno";
char *buf[10];
char *data;
int i;
data = str;
for(i = 0;i<3;i++)
{strncpy(buf,data,5);
data = data + 5;
}
for(i = 0;i<3;i++)
printf("%s\n",buf);
为什么每次提示bus error!
发表于 2004-11-23 13:16:42 | 显示全部楼层
buf申明了一个长度为10的指针数组,但指针都没有申请空间,
结果strncpy(buf,data,5)当然就会出现段错误啦,没空间放东西嘛
回复

使用道具 举报

发表于 2004-11-24 14:20:45 | 显示全部楼层
把char *buf[10] 改为 char buf[n][10]就行了(n你自己改成常数吧)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 01:29 , Processed in 0.049319 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表