你的reverse定义为void,都没返回值,你怎么给s[]赋值,
s[]=reverse();没有参数传递的啊(void reverse(char s[]) )
还有就是你的那个s[]写法也有问题,你的主函数main()没有定义要有返回值的吧,怎么又有一个return a
问题多多
scanf("s[]=%s",&s); s[]=reverse();
应分别改成scanf("s[]=%s",s); s[]=reverse(s);
s[]是字符数组,s就代表首地址
不要误人子弟好不好
scanf("s[]=%s",&s); s[]=reverse();
这里改成
scanf("s[]=%s",s);
reverse(s);
就可以了 数组当实参时 传的就是地址
你输入的数的个数不确定用指针比较好,还有函数里面的参数要用数组就要标出大小,要不也用指针
#include
#include
void reverse(char *s)
{
int c,i,j;
for(i=0,j=strlen(s)-1;i
s[i]=s[j];
s[j]=c; }
}
main()
{
char s[20];
char a;
printf("input the string\n");
scanf("%s",s);
reverse(s);
printf("s[]=%s",s);
return a;
}