Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kasiko en 9 Diciembre 2011, 16:08 pm



Título: Adivinanza: este codigo es C o C++
Publicado por: kasiko en 9 Diciembre 2011, 16:08 pm
A ver esto es un juego, y me gustaria que si teneis algun tip o truco parecido lo compartierais

No vale compilar el ejemplo, a simple vista, ¿es un codigo C o C++?

Código:

#include <stdio.h>

char* nom(char *n="juan")
{
    return(n);
}


int main()
{
    printf("juas %s",(char*)nom());
    return 0;
}



Título: Re: Adivinanza: este codigo es C o C++
Publicado por: ..:ALT3RD:.. en 9 Diciembre 2011, 16:19 pm
Creo que es C, a simple vista lo que mas resalta es el "printf" y eso te dice que es C


Título: Re: Adivinanza: este codigo es C o C++
Publicado por: Ferno en 9 Diciembre 2011, 16:38 pm
Mmmm, ¿Por qué el casteo si no es necesario?
ALT3RD, pensar a C++ como una "extensión" de C, equivale a decir que también puedes usar printf, la librería stdio, etc, en C++.
Lo lógico sería encontrar algo de C++ :P

EDIT: Me la juego a C++ simplemente por el argumento por defecto (no estoy seguro si se puede usar en C, al menos, nunca lo he usado que yo recuerde).


Título: Re: Adivinanza: este codigo es C o C++
Publicado por: rir3760 en 9 Diciembre 2011, 17:03 pm
Es C++ por lo ya comentado (C no permite indicar valores predeterminados para los parametros de una funcion).

Por otra parte la conversion explicita a "char *" en la llamada a printf no es requerida por ninguno de los dos lenguajes.

Un saludo