【发布时间】:2017-11-26 11:24:38
【问题描述】:
这是我的代码。对于 o/p 中超过 3 个字母的单词,会生成垃圾值。
#include<stdio.h>
#include<stdlib.h>
int main(){
char a[50],b[50];
gets(a);
puts(a);
int len,i,j;
i=0;
while(a[i]!='\0'){
i++;
}
printf("Length: %d",i);
//reverse
len = i;
j=len-1;
for(i=0;i<=len-1;i++){
printf("\ni=%d j=%d",i,j);
b[i]=a[j];
j--;
}
printf("\n___REVERSED TEXT___\n");
puts(b);
}
【问题讨论】:
-
永远不要使用
gets();它不能安全使用。 -
你是否终止了反向字符串?我认为不会。
-
与您的问题无关,但您知道
i<=len-1与i<len相同,对吧?意思相同,更易读,写更少。