C语言改错题大神求解7
发布网友
发布时间:2023-11-03 18:01
我来回答
共1个回答
热心网友
时间:2023-12-31 07:39
void fun(char s[],char t[])
{
int i,k,n;
char temp;
n=0;
for(i=0;s[i]!='\0';++i)
if(i%2==1) //修改2,考常识,了解==和=区别
for(k=0;k<i;++k)
{
t[n]=s[i];
n++;
}
else
t[n++]=s[i]; //修改3,考逻辑,n没有自加
t[n]='\0';
for(i=0;i<(n+1)/2;i++) //修改4,考数学,n-1改成n+1取整奇数会少1
{
temp=t[i];
t[i]=t[n-1-i];
t[n-1-i]=temp;
}
}
void main(void) //这个地方不一定要改,老编译器允许这种不好的风格
{
char s[20],t[100];
printf("\nPlease enter string s:");
gets(s);
fun(s,t); //修改1,考基础,用时不要加[]
printf("The result is:%s\n",t);
}