Duda con variables

Iniciado por luistrea, 27 Diciembre 2011, 17:23 PM

0 Miembros y 1 Visitante están viendo este tema.

luistrea

Me estoi leyendo una guia y aparece un ejercicio de variables, introduzco un codigo y se me cierra en seguida porque es si he puesto el "system("PAUSE");" esto no tendria que pausar.


#include <stdio.h>                                                 
#include <stdlib.h>

main()
{
   int primerNumero = 1212;
   int segundoNumero = 1213;
   int suma = primerNumero + segundoNumero;
    prinft("Su suma es %d", suma);
 
  system("PAUSE");   
  return 0;
}
Creo en un solo lenguaje de programación,
"C" Todopoderoso creador de Unix y de Windows
de todo lo visible y lo abstracto.

Ferno

Usa las etiquetas GeSHi para postear código!!

Por otra parte, no estás programando bien. Si tienes un return 0; al final del main, quiere decir que dicha función retorna un entero, y no lo veo en la definición. Lo mismo con sus respectivos parámetros. La definición estándar del main es:

int main (int argc, char* argv[])

Además, en la línea donde intentas imprimir, escribes prinft, cuando en realidad, es printf.
Este código no tendría que compilar siquiera.

luistrea

Ok grax ya corregi y me funciona, pero no me critiques tanto que soi un nooob  :-[

Oye tengo unas dudas:
Lo del main es obligado ponerlo asi?
Lo de return me viene por defecto me aconsejas quitarlo?
Creo en un solo lenguaje de programación,
"C" Todopoderoso creador de Unix y de Windows
de todo lo visible y lo abstracto.

Caster

El return 0 lo que hace es cerrar el programa, dejalo, está bien así.

Ferno

Pero si no te lo critiqué che! Son sugerencias  y te estoy ayudando. Si te molesta que te muestren los errores que uno comete, nunca vas a aprender...

Caster

#5
Haya paz...

EDITO: Te dejo este código, hace lo mismo que el que has escrito tu, pero te lo enseño para que veas como ahorrarte lineas y que te sea más fácil.
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int primerNumero = 1212, segundoNumero = 1213, suma = primerNumero + segundoNumero;
  printf("Su numero es %d\n", suma);
  system("PAUSE");
  return 0;
}


Saludos

Ferno

Cita de: luistrea en 27 Diciembre 2011, 21:05 PM
Lo del main es obligado ponerlo asi?

Depende pero en práctica no.
Lo aconsejable es ponerlo como te lo comenté, ya que es la declaración estándar y jamás tendrás problemas de esa forma.
Hay gente que pone por ejemplo:

int main (void)

Pero yo prefiero lo más cercano al estándar posible en estos casos.

PD: Vengo en son de paz, que no se tome como que levanté el tono la última vez, nada que ver!

Caster

Declara el main() como te dijo Ferno y como el código que te acabo de dejar yo, es más facil así.
Un saludo

Sagrini

#8
Ya que estamos "para aprender", voy a criticar yo también jajaja (@Ferno es brooooma...)
Ahora, os corrijgo a todos:

#include <stdio.h>

int main ()
{
int num1 = 1212, num2 = 1213;
printf ("%d+%d=%d\n", num1, num2, num1+num2);
return 0;
}


1. No tenéis por que incluir "stdlib.h" cuando no se está usando en el programa.
2. "main ()", "void main ()", "int main (void)" no son correctos (el último sería aceptable, pero no suele usarse).
3. "int main (int argc, char *argv [])". Es lo más correcto, pero lo que hay entre paréntesis puede suprimirse si no es usado en el programa.
4. Nombres de variables muy largos entorpecen la programación, y no es agradable tratar con nombres muy largos.
5. No es necesario declarar una variable para almacenar un valor que sólo será usado una vez. Es ridículo.
6. "return" a secas es correcto sólo cuando la función el la que está se ha declarado con un "void", lo cual no está bien en el caso de "main ()".
7. "system ("PAUSE")" es horrible, nunca debe usarse. En caso de que uséis un entorno de programación gráfico usad "getchar ()"o similares, pero nunca uséis "system ()" si no es estrictamente necesario. Por algo siempre se recomienda programar desde una terminal a no ser que la salida sea gráfica (trabajar desde terminal es muchísimo más cómodo, directo, práctico y rápido).
8. Pedir paz en un foro público es ridículo. Por favor. Si quieren decir tonterías, ¡adelante!
9. Esa ortografía...

Sin rencor ;)

Caster

Punto 1: Ok
Punto 2: Yo no fui
Punto 3: Ok
Punto 4: Yo puse esos nombres porque son los que puso él
Punto 5: Ok
Punto 6: Lo sabía, pero no explicarlo
Punto 7: Ya se que llamar al sistema para hacer una pausa es horrible, pero para códigos así de simples vale igual
Punto 8: Hijos de **** todos !!!!!

Saludos