#include"stdio.h" #include"string.h" void main() { int i=0,j; char str1[10],str2[10]; printf("inp

2024年11月17日 19:32
有1个网友回答
网友(1):

#include"stdio.h"
#include"string.h"
void main()
{
int i=0,j=0;
char str1[10],str2[10];
printf("input a string:\n");
gets(str1);
j=strlen(str1)-1;
while(j>=0)
{
str2[j]=str1[i];
i++;
j--;
}
//puts(str2);
int tem=0;
while(tem<=i)
{
printf("%c",str2[tem]);
tem++;
}
getchar();
}

首先,你的if用错了,应该改带用循环结构,其次,你使用了puts,把str2的10字节全部显示出来,但是你只给他赋值了个别位,例如:输入abcde,你只给str2赋值了备早edcba,仿歼雀后面其实还有5位,由于你没有初始化,所以系统默认初始化,一般都是写乱七八糟的数字,就呈现出来乱码,其实就是puts和你的if使用错了,主体没错