有关NULL的问题。

xmas171688 2004-04-29 04:35:55
问题是这样的,
我定义了一个数组 a[4][10] 开始的时候数组里面都是NULL,假设a[i]="one",是假设我不知道one放在哪行。
现在我还要放9个字符串到此数组中,但是不能覆盖 one
请问有什么函数可以实现!怎么实现

这样不可以。为什么!
b[3][10]={"two","three","four"};
for(j=0;j<3;j++)
for(i=0;i<4;i++)
{
char *ptr;
ptr=memcpy(b[j],a[i],strlen(b[j]));
if(ptr==" ")
{ strcpy(a[i],b[j]); break;}
}
大家有什么好办法。
...全文
78 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xmas171688 2004-05-11
大家进来帮忙看看
  • 打赏
  • 举报
回复
xmas171688 2004-05-10
能用指针数组帮我实现吗 ?
  • 打赏
  • 举报
回复
cancer001 2004-04-30
建议用指针数组实现比较好!
  • 打赏
  • 举报
回复
windtyj 2004-04-30
memcpy()用法有問題!

函数名: memcpy
功 能: 从源source中拷贝n个字节到目标destin中
用 法: void *memcpy(void *destin, void *source, unsigned n);
程序例:
int main(void)
{
char src[] = "******************************";
char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
char *ptr;
printf("destination before memcpy: %s\n", dest);
ptr = memcpy(dest, src, strlen(src));
if (ptr)
printf("destination after memcpy: %s\n", dest);
else
printf("memcpy failed\n");
return 0;
}

  • 打赏
  • 举报
回复
xmas171688 2004-04-29
我的方法有什么问题吗?帮我看看。
  • 打赏
  • 举报
回复
qingyuan18 2004-04-29
用指针数组吧:
void put()
{
char temp[10]={0};
int i,j;
char *pt[4];
for(i=0;i<4;i++)
pt[i]=a[i];
printf("放其他的3个字符串");
for(j=0;j<3;j++)
{
scanf("%s",temp);
for(i=0;i<4;i++)
if(pt[i]==NULL)
scanf("%s",pt[i]);
}
}
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-04-29 04:35
社区公告
暂无公告