2016-12-06 32 views
0
#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    char s[100],temp1[100]; 
    int i; 

    printf("Some word "); 
    scanf("%s", s); 

    for (i = 0; s[i] != '\0'; ++i); 


    int a = i-1; 
    for (int k = 0; k < i; k++) { 

     temp1[k] = s[a]; 
     a--; 
    } 

    printf("%s", temp1); 


    system("pause"); 
} 

我想扭转给定的单词,但我只是用我的答案得到一些其他的东西。我知道我只是可以搜索它,但我想知道为什么我失败了,所以请帮助我。试图扭转给定的单词

+1

更换'temp1中[100]''与temp1中[100] = {0}'将解决这个问题。 – dasblinkenlight

+0

这个问题很明显,但请尽量描述未来的实际问题。 '那样'不是一个好的描述;对于一个很好的描述,请看这里的准则:[mcve]。 – anatolyg

+0

如果允许的话,你可以替换'for(i = 0; s [i]!='\ 0'; ++'i);''用'#include '''i = strlen(s)'或'int a = strlen(s)-1);' – yano

回答

3

您需要null终止结果。添加

temp1[i] = '\0'; 

另外,更改scanf()

scanf("99%s", s); 
+0

哦,非常感谢,我知道我很糟糕。 –