Ich versuche 1.19 von K Übung, um herauszufinden, & R.undefiniert Ausgang (K & R 1.19)
eine Funktion Reverse-Schreiben (n), die die characte s Zeichenfolge umkehrt. es, ein Programm zu schreiben, das
Hier zu einem Zeitpunkt seiner Eingabe eine Zeile umkehrt ist mein Code
#include <stdlib.h>
#include <stdio.h>
#define MAX 150
void reverse(char s[]);
int main()
{
int c, i;
char string[MAX];
i=0;
while((c=getchar())!= EOF){
while((c=getchar()) != '\n'){
string[i] = c;
i++;
}
reverse(string);
}
return 0;
}
void reverse(char s[]){
int i, j;
for(i=0; i<MAX-1; i++){
if(s[i] == '\n')
break;
}
for(j=i;j>=0;j--)
printf("%c", s[j]);
printf("\n");
}
Das Problem ist, dass ich eine nicht definierte Ausgang haben, wie diese
Ich habe versucht, es herauszufinden, macht aber keinen Sinn für mich. Vielen Dank im Voraus für Ihre Hilfe.
enthält Was Sie versuchen zu tun? – Boiethios
"Schreiben Sie eine Funktionsumkehrung (s), die die Zeichenkette s umkehrt. Verwenden Sie sie, um ein Programm zu schreiben, das seine Eingabe um eine Zeile umkehrt" – Emanuele
C Zeichenketten sind nullterminiert ... Ihr Programm wird immer über die gesamte Länge gehen des Puffers, ohne die tatsächliche Länge des Strings zu betrachten. – fvu