Ich bekomme einen Fehler (4, um genau zu sein), wenn ich versuche, "i < n" in meiner for-Schleife zu verwenden. Wenn ich es herausnehme, bekomme ich eine Endlosschleife. Ich kann auch nicht scheinen, dass die if-Anweisung ausgeführt wird. Irgendwelche Gedanken darüber, was ich verbessern kann?cs50 Initialen pset2 unerwarteter Fehler
int main()
{
int i;
int n;
//Program to get the user's name and reply with their capitalized initials
{
//Ask user for their name
printf("What is your full name?\n");
}
//look for 1st character of each part of name given
string name = GetString();
for (i = 0; (n = strlen (name)); i < n; i++)
{
printf("Your intitals are %c", toupper(name[0]));
{
if (isspace(name[i]))
{
printf("%c", toupper(name[i+1]));
}
printf("!\n");
}
}
return 0;
}
Wahrscheinlich möchten Sie nur einmal die Nachricht 'Ihre Initialen' drucken, nicht einmal pro Zeichen, das der Benutzer eingibt. Du weißt nicht einmal, dass hinter dem Raum ein Buchstabe steht; Sie könnten am Ende ein Null-Zeichen drucken, was keine gute Idee ist, obwohl es nicht so viel schadet. Der Glückwunsch "! \ N" 'sollte auch außerhalb der' for' Schleife liegen. –