兰州rose会所2号店地址:请c高手知道

来源:百度文库 编辑:高考问答 时间:2024/05/05 17:42:08
#define CHANGE(j) 1*j
char convert (char);
main()
{int x,i;
char a[40];
gets(a);
scanf("%d",&x);
if (CHANGE(x)==1)
{for (i=0;a[i]!='\0';i++)
{printf("%c",convert(a[i]));}
}
else
for (i=0;a[i]!='\0';i++)
{printf ("%c",a[i]);
}
}
convert(char y)
{if (y<='a' && y<='z')
{if (y=='z') y='z';}
else y=y-1;
return(y);}

Type mismatch in redeclaration of convert

哪里错了,请高手指点

初步看了下:
if (y<='a' && y<='z')
这个是不是应该是:
if (y>='a' && y<='z')

不知道你到底想干什么
连个基本的输入输出语句都没有,还没有注释:
#define CHANGE(j) 1*j
char convert (char);
main()
{
int x,i;
char a[40];
printf("input a string:");
gets(a);
printf("input a num(1 for secret):");
scanf("%d",&x);
if (CHANGE(x)==1)
{
for (i=0;a[i]!='\0';i++)
{
printf("%c",convert(a[i]));
}
}
else
{
for (i=0;a[i]!='\0';i++)
{
printf ("%c",a[i]);
}
}
getch();
}
char convert(char y)
{
if (y<='a' && y<='z')
{
if (y=='z')
y='z';
}
else y=y-1;
return(y);
}

传的值错了,当传a[i]时,过去的应该是a[0]的地址