Adivinanza: este codigo es C o C++

Iniciado por kasiko, 9 Diciembre 2011, 16:08 PM

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

kasiko

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++?



#include <stdio.h>

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


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


Nos vemos...


..:ALT3RD:..

#1
Creo que es C, a simple vista lo que mas resalta es el "printf" y eso te dice que es C
"Mañana sabrás que hoy no sabes nada"

Ferno

#2
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).

rir3760

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
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