中易网

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

答案:1  悬赏:70  
解决时间 2021-01-17 05:30
  • 提问者网友:自食苦果
  • 2021-01-16 22:07
#include"stdio.h" #include"string.h" void main() { int i=0,j; char str1[10],str2[10]; printf("inp
最佳答案
  • 二级知识专家网友:woshuo
  • 2021-01-16 23:17
#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使用错了,主体没错追问getchar();这是什么意思,还有不能用puts,那还可以用什么?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息