这是一段代码,很简单的,麻烦大家帮我分析一下原因并指正!谢谢

liulanggod 2002-07-14 03:21:47
这是我写的一个从小到大输出3个字符串的程序,老调试不过,我知有错误,可就是找不到,希望哪位大哥能帮个忙,详细指正一下,最好能改的精短一些!谢谢 第7行和12行有错,但我不知错在哪儿?麻烦诸位!建议用C,困本人刚学C,不会C++,谢谢
main()
{void change(char *,int);
int i=0;
char *p[3];
for(;i<3;i++)
scanf("%s",p+i);这一行我想因为是指针数组,不是不定义的情况下能否直接用些输入,是不是会出现内存泄露?
change(p,3);这一行有警告:
for(i=0;i<3;i++)
printf("%s\n",p+i);
}
void change(char *name[],int n)
{int m=0,k,j;这里提示:ytpe mismatch in redeclaration of 'change'本人不懂英文哦:)
char *p2;
for(;m<n-1;m++)
{k=m;
for(j=m+1;j<n;j++)
if(strcmp(name[k],name[j])>0) k=j;
if(k!=m)
{p2=name[k];name[k]=name[m];name[m]=p2;}
}
}
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanticist 2002-07-14
  • 打赏
  • 举报
回复
唉。。。。。。。。。
liulanggod 2002-07-14
  • 打赏
  • 举报
回复
楼上的大哥:char *p[3]是指针数组,就是说数组无素是地址,
    char p[3]是字符数组,可是不一样啊?如果用这个,那么能否用scanf("%S",p+i);吗?并且调用语句还能否用change(p,3)?
tyro_zhang 2002-07-14
  • 打赏
  • 举报
回复
把void change(char *,int); 申明放到 main之前
指针char *p[3];未分配空间,你可声明为char p[3]即可.
joke100 2002-07-14
  • 打赏
  • 举报
回复

main函数中是void change(char *,int);
而后面的实现是void change(char *name[],int n)
想一下第一个参数的类型???

char *p[3];
没有分配内存喔

main函数中把void change(char *,int);改做
void change(char **,int);

void change(char *[],int);
试试


main()
{
void change(char **,int);
int i=0;
char pTem[900]; // 分配900字节
memset(pTem, 0, 900); // 初始化所分配的内存
char *p[3];
p[0] = pTem; // 这连续3行使3个字符串各占300字节
p[0] = pTem + 300;
p[0] = pTem + 600;
for(;i<3;i++)
scanf("%s",p+i);
change(p,3);
for(i=0;i<3;i++)
printf("%s\n",p+i);
}



lqbn 2002-07-14
  • 打赏
  • 举报
回复
mismatch in redeclaration of 'change' 是说change函数声明和定义的函数列表不匹配。 char* 和 char *name[]是不同的。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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