Esto no es técnicamente correcto. Ahí estás indicando que las variables num, x y result van a utilizarse para manejar números con signo de un tamaño ( generalmente ) de 32 bits.
Es decir, ahí no estás asignando valores, solo reservando memoria para esas variables. De hecho, si haces un printf ... o un cout de cualquiera de esas variables antes de hacer el scanf verás que suelen tener valores extraños... eso es porque la memoria se ha cogido tal cual, sin inicializar.
Debido a que en c y c++ la memoria no se inicializa es necesario hacerlo de forma manual en numerosas ocasiones, como cuando vas a manejar punteros, para evitar resultados extraños.
Con lo cual, en tu programa sólo le das valor a num en la línea 8.
Muchas Gracias por tu explicación eferion, soy algo nuevo en c / c++, hace 3 meses que recién empecé la carrera de Informatica. así que estoy con el bicho de preguntar el por qué de todo
Hasta el momento solo he usado c++ ( recién ahora que me adapto a c )
int main ()
{
int numero; // Aqui indico que numero es un valor entero
cout<<"Introduce numero: "<<endl;
cin<<numero; // Aqui ya no necesito indicar nada para numero porque ya lo puse al principio
cout<<"El numero que pusiste fue: "<<numero<<endl;
getch();
return 0;
}
Pero si lo hiciera en c, seria:
int main ()
{
int numero; // Aqui indico que numero es un valor entero
scanf("%f",&numero
) /* Aqui estoy VOLVIENDO a indicar que numero sera por ejemplo ... un flotante?? esto lo podria poner asi? o como seria? , esto no ocurre cuando uso "cin" */ printf("El numero que pusiste fue %f",numero
) return 0;
}
Ahi es lo que me confunde c y c++
Entendí lo que me dijiste sobre que en el segundo ejemplo cuando escribo "int numero" al inicio, no estoy asignando un valor.... pero cuando uso el cout, si?
Muchas Gracias de verdad por tomarte el tiempo de responder.
Saludos,