Ich werde Buchinformationen eingeben und eine der Informationen ist der Monat und das Jahr, in dem das Buch veröffentlicht wird.Wie gebe ich zwei ganze Zahlen mit einem Bindestrich dazwischen ein?
Das Programm wird angenommen, sie mit folgendem Format zu lesen: 02-2012
die zeigt, dass 02
der Monat und 2012
ist das Jahr.
printf("Enter month and year book publish:\n");
scanf("%d[^-]%d",&book[i].month,&book[i].year);
Ich versuchte es so, aber es funktioniert nicht.
oder Sie können 'Scanf schreiben ("% d% c% d", & buchen [i ] .month, & tempCh, & book [i] .year); ' –
Hinweis: Das Testen des Rückgabewerts von scanf ist kein Rezept für Überraschungen. – Jens
Das eckige Klammer-Ding ist eigentlich ein Umwandlungs-Spezifizierer, also sollte es '% * [^ -]' sein, der Prozentsatz wird benötigt, sonst ist es eine wörtliche eckige Klammer. Der Stern unterdrückt die Zuweisung, da Sie den Bindestrich nicht beibehalten möchten. Und: Sie müssen den Rückgabewert überprüfen! – unwind