Tengo dos funciones que retornan entero, una llamada prueba y la otra prueba2 dentro de prueba llamo a prueba2 y sin poner return en prueba me devuelve el valor de retorno de prueba2. No se si me explique bien pero aquí les dejo el código:
Cuando no se indica el valor de retorno de una funcion este es "no definido". Un caso similar es cuando se utiliza una variable local sin darle un valor inicial explicito.
Un saludo
En línea
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
Cuando no se indica el valor de retorno de una funcion este es "no definido". Un caso similar es cuando se utiliza una variable local sin darle un valor inicial explicito.
Un saludo
Entonces es basura y es solo casualidad que agarre el valor de retorno de la otra función?
Entonces es basura y es solo casualidad que agarre el valor de retorno de la otra función?
Casualidad no es. Sale el de la otra función, porque el valor se queda en el registro de la cpu que se usa para devolver valores. y como el ultimo que lo modifico fue esa funcion para devolverte ese valor, al final se queda igual porque no hay nada que lo modifique. y te sale ese valor de retorno. Si el compilador colocara algo entre medias no te daría ese resultado....