Wie liest man einen string aus der Benutzer-Eingabe in C, in array und drucken

Ich bin ziemlich neu in C und ich habe gelesen, ein paar Kapitel von einem C-Buch habe ich und jetzt habe ich eine Zuweisung, aber ich bin verwirrt hoffe jemand kann mir helfen.

Muss ich Lesen, 2 strings vom Benutzer (char-arrays) Eingang mit einer maximalen Länge von 100 Zeichen, und konvertieren Sie Sie in Großbuchstaben ausdrucken und mit einem Zeilenumbruch \n nach jedem Wort.

Bis jetzt habe ich dieses:

int main() {
char chars[100];
int i = 0;
char str1;
char str2;
int j = 0;

scanf("\n %c", str1);
scanf("\n %c", str2);


while (str1[i] != '\0') {

    chars[i] = str1[i];
    toupper(chars[i]);
    printf(chars[i]);
    i++;

}

while (str2[j] != '\0') {

    chars[j] = str2[j];
    toupper(chars[j]);
    printf(chars[j]);
    j++;

}


return 0;
}

nachdem er die 2 Eingänge vom Benutzer, es sagt nicht mehr läuft und sagt Fehler beim ausführen.

  • str1 und str2 sollten array
  • krank versuchen, das... machte keinen Unterschied, wie es noch hält, nachdem die Eingabe
  • Ihr compiler nicht geben, keine Warnungen, richtig? Oh warte noez...
  • Hinweis: Sie verwenden möchten fgets(). Google-Dokumentation. Bleiben Sie weit Weg von scanf().
  • Ist es nicht möglich, ohne fgets() ? Nicht sicher, ob ich soll, es zu benutzen.
  • char chars[100] ist groß genug für eine maximale Eingangsspannung von 99 Zeichen und dann ein abschließendes \0. Sie vielleicht möchten zur Steigerung Ihrer Puffer-Größe von 1.

InformationsquelleAutor Burbanana | 2013-10-08
Schreibe einen Kommentar