Ich habe eine Home-Aufgabe, die ein Programm schreibt, in dem der Benutzer seinen Vor- und Nachnamen eingibt und der Ausgang die Initialen sein soll. Das Problem ist, dass die Anwendung dieses Programms bekomme ich eine Reihe von Initialen, die 10 mal wiederholt werden.Stoppen einer for-Schleife
Wie kann ich die Ausgabe von nur einem Paar Initialen erhalten?
Ich habe bereits das Internet und diese Website durchsucht und versucht, Dinge wie Rückkehr und Pause anzuwenden, aber es hat mir nicht geholfen. Hier
ist der Code:
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main (int argc, string argv[])
{
// get string of the text
string s = GetString();
// output the initials of the name
if (s != NULL)
for (int i = 0; i < argc; i++) // was for (…; i = 0)
{
for (int j = 0, n = strlen(argv[i]); j < n; j++) // was for (…; j = 0)
{
printf ("%c%c", argv[1][0], argv[2][0]);
}
return 0;
}
}
Nur wenn: Werfen Sie eine Ausnahme .. – Fusseldieb
Aber zuerst den Code formatiert :) –
Beachten Sie, dass Sie nicht ändern sollten die Frage, um die Antworten zu entwerten. Sie fragen den Benutzer nach einer Eingabe und ignorieren sie dann vollständig. Sie verlassen 'main()' mit 'return 0;', nachdem Sie zum ersten Mal die innere Schleife abgeschlossen haben, was unwahrscheinlich ist, was Sie wollten. Sie vermeiden es, 'strlen()' wiederholt in derselben Zeichenfolge aufzurufen; das ist gut. Sie müssen diesen Code erneut aufrufen, um Ihre Logik zu bereinigen - obwohl Sie, wenn Sie den überarbeiteten Code an SO senden, ihn als Ergänzung zu dem, was hier ist, hinzufügen sollten, anstatt ihn zu ersetzen. –