有关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;}
}
大家有什么好办法。
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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]);
}
}

69,373

社区成员

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

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