逆序存放字符串,为什么没有输出结果?
#include<stdio.h>#include<string.h>
int main()
{
int x;
char a, change(char[],int);
gets(a);
x=strlen(a);
change(a,x);
puts(a);
return (0);
}
char change(char a[],int x)
{
int i;
char t;
for(i=0;i<x/2;i++)
{t=a;
a=a;
a=t;
}
} #include<stdio.h>
#include<string.h>
int main()
{
char change(char[], int);
int i,x;
char a;
gets_s(a);
x = strlen(a);
change(a, x);
for(i = 0;i <= x;i++) // 经过交换后,原数组末尾的结束标志 '\0' 被交换到了第 1 个元素,不能再 puts() 输出
printf("%c",a);
printf("\n");
return (0);
}
char change(char a[], int x)
{
int i;
char t;
for (i = 0;i<x / 2;i++)
{
t = a;
a = a;
a = t;
}
return 0;
}
页:
[1]