求助,关于指针转换出错!

qq75437828 2009-12-03 08:58:02
VC会提示copy(longest[g],line);这一句出错,就怎样修改?

#define MAXLINE 100
#include <stdio.h>
int getline(char line[],int maxline);
void copy(char *longest[],char from[]);
main()
{
int g=0,i;
int max;
char line[MAXLINE];
char *longest[MAXLINE];

while(getline(line,MAXLINE)>0)
{ copy(longest[g],line);

g++;
}
for(i=0;i<=g-1;i++)
printf("%s",longest[i]);

return 0;
}

int getline(char s[],int lim)
{
int c,i=0;
while(i<lim-1 && (c=getchar())!=EOF && c!='\n')
{
s[i++]=c;
}
if(c=='\n')
s[i++]=c;
s[i]='\0';
return i;
}

void copy(char *longest[],char from[])
{
int i=0;
while(((*longest)[i]=from[i])!='\0')
i++;

}

VC会提示copy(longest[g],line);这一句出错,就怎样修改?
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlk2002 2009-12-03
  • 打赏
  • 举报
回复
copy(longest[g],line);
=>
copy(&longest[g],line);

这样就OK了。
原因是longest[g]是char *,而copy()要求的是char **。
飞天御剑流 2009-12-03
  • 打赏
  • 举报
回复
copy(longest[g],line);改为copy(longest,line);

69,371

社区成员

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

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