小问题?

lq651659889 2008-11-11 10:22:28
#include<iostream>
using namespace std;
void main()
{
void palin(int,char*,char*);
static char a[5]={'a','b','c','d','e'};
static char b[5];
palin(4,b,a);
}
void palin(int n,char *p,char *p1)
{
int j=4;
if(n<=1)
{
for(int i=0;i<5;i++)
cout<<p[i];
}
//cout<<endl;
else
{ p[j]=p1[4-n];
j--;
palin(n-1,b,a);
}
}错误是C:\Documents and Settings\Administrator.67B3A03E4CD3475\Cpp5.cpp(22) : error C2065: 'b' : undeclared identifier
C:\Documents and Settings\Administrator.67B3A03E4CD3475\Cpp5.cpp(22) : error C2065: 'a' : undeclared identifier
那位帮忙改下咯
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
blue_ps 2008-11-11
  • 打赏
  • 举报
回复
要注意变量的使用范围的问题啊!!你的a,b是定义在main函数里面了,但是void palin都没有定义怎么有用呢?
artwl_cn 2008-11-11
  • 打赏
  • 举报
回复
楼主的程序实现的功能应该是实现把a中的字符串复制到b中并输出edcba把,我改了一下,程序如下,你看一下:
#include <iostream>
using namespace std;
void main()
{
void palin(int,char*,char*);
static char a[5]={'a','b','c','d','e'};
static char b[5];
palin(4,b,a);
}
void palin(int n,char *p,char *p1)
{
int j=4;
if(n<=1)
{
abc:for(int i=0;i<5;i++)
cout<<p[i];
}
else
{do{
p[j]=p1[4-n];
j--;
n--;
}while(n!=-1);
goto abc;
// palin(n-1,*p,*p1);
}
}
我是五道风 2008-11-11
  • 打赏
  • 举报
回复
顶 你的子函数void palin(int n,char *p,char *p1) 里面的b,a都没有定义 上面都说的很对啊
jia_xiaoxin 2008-11-11
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
static char a[5]={'a','b','c','d','e'};
static char b[5];
void main()
{
void palin(int,char*,char*);
palin(4,b,a);
}

void palin(int n,char *p,char *p1)
{
int j=4;
if(n <=1)
{
for(int i=0;i <5;i++)
cout <<p[i];
}
else
{
p[j]=p1[4-n];
j--;
palin(n-1,b,a);
}
}
supernhj 2008-11-11
  • 打赏
  • 举报
回复
我上面的回答改一个地方: palin(n-1,p1,p).刚才没注意顺序.呵
wuyu637 2008-11-11
  • 打赏
  • 举报
回复
void palin(int n,char *p,char *p1)
{
int j=4;
if(n <=1)
{
for(int i=0;i <5;i++)
cout <<p[i];
}
//cout < <endl;
else
{ p[j]=p1[4-n];
j--;
palin(n-1,p1 ,p); ============》
}
}
supernhj 2008-11-11
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
void main()
{
void palin(int,char*,char*);
static char a[5]={'a','b','c','d','e'};
static char b[5];
palin(4,b,a);
}
void palin(int n,char *p,char *p1)
{
int j=4;
if(n <=1)
{
for(int i=0;i <5;i++)
cout <<p[i];
}
//cout < <endl;
else
{ p[j]=p1[4-n];
j--;
palin(n-1,p,p1);
}
}
最后调用时不能用a,b

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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