C++分析题

来源:百度知道 编辑:UC知道 时间:2024/05/19 23:01:47
#include<stdio.h>
#include<string.h>
void main()
{
int inverse(char str[]);
char str[100];
printf("Input string:");
scanf("%s",str);
inverse(str);
printf("Inverse string:%s\n",str);
}
void inverse(char str[])
{
char t;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2;i++,j--)
{t=str[i];
str[i]=str[j-1];
str[j-1]=t;
}
}
运行后的那个错误是什么意思,怎么改!
void inverse(char str[]) 这句原程序是int inverse(char str[])的……

#include<stdio.h>
#include<string.h>

void main()
{
int inverse(char str[]);
char str[100];
printf("Input string:");
scanf("%s",str);
inverse(str);
printf("Inverse string:%s\n",str);
}

int inverse(char str[])////就是因为你的返回值类型写错了,所以认为这个和那个声明的不是一个函数
{
char t;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2;i++,j--)
{
t=str[i];
str[i]=str[j-1];
str[j-1]=t;
}

return 0;//这里加个return,否则vc过不去
}