麻烦大家帮我看下这段程序~~

来源:百度知道 编辑:UC知道 时间:2024/04/28 00:15:28
#include<stdlib.h>
int Palindrom(char* str);
void main(void)
{
int a[60],i;
for(i=0;i<15;i++)
{
a[i]=65+rand()%26;
printf("%c",a[i]);
}
printf("\n");
printf("%d\t",Palindrom(a));
}
int Palindrom(char* str)
{
int i,j;
for(i=0,j=15;i<16,j>0;i++,j--)
{
if(str[i]!=str[j])
return(0);
}
return(1);
}

错误提示是这样的
error C2664: 'Palindrom' : cannot convert parameter 1 from 'int [60]' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
是这样吗?
可是也不行……
#include<stdio.h>
#include<stdlib.h>
int Palindrom(int* str);
void main(void)
{
char a[60],i;
for(i=0;i<15;i++)
{
a[i]=65+rand()%26;
printf("

#include<stdio.h>
#include<stdlib.h>
int Palindrom(int* str);
void main(void)
{
char a[60],i;
for(i=0;i<15;i++)
{
a[i]=65+rand()%26;
printf("%c",a[i]);
}
printf("\n");
printf("%d\t",Palindrom(a));
getchar();
}
int Palindrom(char* str)
{
int i,j;
for(i=0,j=15;i<16,j>0;i++,j--)
{
if(str[i]!=str[j])
return(0);
}
return(1);
}
形参应与实参类型一致

printf("%d\t",Palindrom((char *)a)); 试试看

唉!无话可说了!跟你说的你不听,回头又说不能运行,你那样做当然不能运行啦!数组a的类型要和Palindrom函数的参数类型一样才行!(也就是Palindrom后面括号里的类型)而你的程序中这两个类型就是不一样,好像是故意不想写成一样的似的。请参考下面的程序进行修改吧!

类型转换的问题,修改如下:

//---------------------------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>
int Palindrom(char* str);
void main(void)
{
char a[6