Frage
Ich bin mit scanf () einen Satz von Ints vom Benutzer zu erhalten. Aber ich möchte der Benutzer alle 4 ints auf einmal liefern anstelle von 4 verschiedenen promps. Ich weiß, dass ich einen Wert bekommen kann, indem Sie:
scanf( "%i", &minx);
Aber ich würde den Benutzer möchte in der Lage sein, etwas zu tun:
Enter Four Ints: 123 234 345 456
Ist es möglich, dies zu tun?
Lösung
Sie können dies mit einem einzigen Anruf, etwa so:
scanf( "%i %i %i %i", &minx, &maxx, &miny, &maxy);
Andere Tipps
Ja.
int minx, miny, maxx,maxy;
do {
printf("enter four integers: ");
} while (scanf("%d %d %d %d", &minx, &miny, &maxx, &maxy)!=4);
Die Schleife ist nur, dass scanf zu demonstrieren, gibt die Anzahl der Felder erfolgreich gelesen (oder EOF).
int a,b,c,d;
if(scanf("%d %d %d %d",&a,&b,&c,&d) == 4) {
//read the 4 integers
} else {
puts("Error. Please supply 4 integers");
}
Könnte dies tun, aber dann hat der Benutzer die Zahlen von einem Leerzeichen zu trennen:
#include "stdio.h"
int main()
{
int minx, x, y, z;
printf("Enter four ints: ");
scanf( "%i %i %i %i", &minx, &x, &y, &z);
printf("You wrote: %i %i %i %i", minx, x, y, z);
}
Passable für mehrere Werte mit scanf()
bekommen
int r,m,v,i,e,k;
scanf("%d%d%d%d%d%d",&r,&m,&v,&i,&e,&k);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow