2016-05-07 14 views
-3

Ich habe ein Programm, in dem i deklariert zwei Arrays von char-Typ. Man würde die Zeichenfolge speichern und eine andere würde speichern die umgekehrt string.But, wenn ich das zweite Array drucken Sie es einige unerwartete Ergebnisse anzeigt.Unerwartete Ergebnisse, während eine Zeichenfolge Druck

#include<stdio.h> 

main(){ 
char a[] = "Sahib"; 
char b[5]; 
int i = 0; 
int j,k = 0; 
char c='a'; 
while(c!='\0'){ 
    c = a[i]; 
    i++; 
} 
i -= 2; 
for(j=i;j<=0;j--){ 
    b[k] = a[j]; 
    k++; 
} 

printf("The reversed character is %s",b); 
} 
+0

C-Strings null beendet werden ... Sie müssen Raum 1) sorgen für sie in der Aufnahme Variable und 2) Sie müssen es auf die sich Zeichenfolge hinzuzufügen. – fvu

+0

versucht 'char b [sizeof (a)] = {0}', das ist ein helfende Push-up. – milevyo

+0

Ya Ich habe es ... noch ist es nicht etwas anstelle von b angezeigt wird. –

Antwort

0

try this:

#include <stdio.h> 

int main(void){ 
    char a[] = "Sahib"; 
    char b[sizeof a]; 
    int i = 0; 
    int j,k = 0; 
    char c; 

    while((c = a[i]) != '\0'){ 
     i++; 
    } 
    for(j = --i; j>=0; --j){ 
     b[k++] = a[j]; 
    } 
    b[k] = '\0'; 

    printf("The reversed character is %s\n", b); 
    return 0; 
} 
+0

Es ist nicht alles angezeigt wird .... anstelle von b –

+0

@SahibNavlani [DEMO] (http://ideone.com/AnbE5u) – BLUEPIXY

Verwandte Themen