Hola me gustaría que me resolviesen esta duda que tengo :
Como puedo hacer que un usuario ingrese varios valores en una sola linea pero que C sepa que los números por espacio vallan en diferentes variables? es decir me explico.
EL programa pide que ingrese una serie de numeros.
Por ejemplo:
2 4 6 8
lo que yo quiero hacer es que C guarde el 2 en variable , 4 en otra variable , 6 en otra variable y 8 en otra variable.
Se puede hacer con scanf? o como se haría
Quiero decir que esto no es un trabajo de mi colegio ni nada yo mismo estudio en mi casa programación y tenia esa duda, así que por favor no vallan diciendo que no resuelven ejercicios por que solo es una duda ya que llevo 50 lineas de codigo y me entro esta duda. Muchas gracias
Hombre, yo lo que haría sería hacer un split, separando por los espacios, y cada uno en una posición de un array. Ahora, no se si el método split estará en C :P Tampoco se si vale con enteros, pero sino, lo que harías sería capturarlos en un String, y luego un cast a entero.
Que alguien me corrija si me equivoco.
#include<stdio.h>
main(){
int a,b,c,d;
scanf("%d %d %d %d", &a, &b, &c, &d);
printf("el valor de a es: %d\n", a);
printf("el valor de b es: %d\n", b);
printf("el valor de c es: %d\n", c);
printf("el valor de d es: %d\n", d);
}
saludos :)
Tal como dice Christian:
scanf("%d %d %d %d", &a, &b, &c, &d);
Y eso es todo. También puedes hacerlo con vectores:
int vector[4];
// [...]
scanf("%d %d %d %d", vector, vector+1, vector+2, vector+3);
Saludos
También los puedes cargar con la ejecución del programa:
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int n, char* argv[])
{
int n1 = atoi(argv[1]); //Empezar en 1
int ..
}