Der Code, den ich schreibe, ist im Grunde eine Frage über die Frage, ob der Benutzer seinen Vornamen eingeben soll. Wenn der Name leer ist, dh der Benutzer vergißt, seinen Vornamen einzugeben, wird der Code erwähnen, daß der Benutzer vergessen hat, seinen Namen einzugeben und erneut zu fragen. Es sollte weiter gefragt werden, bis die Bedingung erfüllt ist.versteh meine Logik von meiner Weile, wenn Code in c? 37 Zeilen/Leerzeichen des Codes
// This sample compares user input to what is being typed. If the
// input is void of any charicters before pressing enter, it will print a reply.
#include <stdio.h>
#include <string.h>
int main()
{
char firstname[25];
printf("Please enter your first name:");
fgets(firstname,25,stdin);
// ask to enter in a name. If no name or text is present,
// will reply with no name entered
// and will loop untill a name is pressed and entered
do
{
printf("You pressed enter before entering your first name.\n Please enter first name");
}
while (firstname == NULL || strcmp(firstname,"")==0);
if(!strcmp(firstname, "firstname"))
{
printf("Thank you %s! for entering in your first name",firstname);
}
getchar();
}
Es läuft nur einmal. Also, nicht sicher, warum es nicht weiter geht und auch, brechen Sie die Schleife zu sagen "thank you %s!
Kann jemand ein anderes Beispiel geben, damit es funktioniert und ich kann es besser verstehen?
es ist schon durcheinander! :) Verwenden Sie Syntaxfilter richtig –
Halten Sie Ihren Einzug sauber! Ich schreibe seit fast 10 Jahren Code, und wenn Sie solchen Code schreiben, kann ich ihn nicht lesen. Wenn ein erfahrener Programmierer es schwer hat, das zu lesen, was hält Sie dann für leichter? – riwalk
Ist das Hausaufgaben? – FrustratedWithFormsDesigner