elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10]
91  Programación / Programación C/C++ / Calcula el cuadrado de un numero usando aritmetica de punteros en: 29 Marzo 2015, 19:29 pm
He encontrado una función algo peculiar la cual calcula el cuadrado de un determinado numero, hasta ahi todo bien pero lo que me llama la atención es el metodo utilizado para llegar a ello.

Código
  1. #include <stdio.h>
  2.  
  3. int p(int n)
  4. {
  5.    int a[n];
  6.    return (&a)[n] - a;
  7. }
  8.  
  9. int main(void)
  10. {
  11.    printf("%d\n", p(8));
  12.    return 0;
  13. }

Como se daran cuenta a simple vista uno no supondría que esto saca el cuadrado de un numero es algo confuso y pido que alguien me explique detalladamente como funciona esto

92  Programación / Programación C/C++ / Comparación de dos cadenas sin usar ningún tipo de bucle en: 15 Marzo 2015, 19:43 pm
Buenas, no estoy seguro si esto ya es conocido o no pero jugando con una implementación de strcmp descubrí que con solo comparar la dirección de inicio de dos cadenas se podía saber si eran iguales o no

Código
  1. #include <stdio.h>
  2.  
  3. int strcmp1(char *s, char *t)
  4. {
  5.    /*for(; *s==*t; s++, t++)
  6.     {
  7.         printf("s = %p, s = %c\n", s, *s);
  8.         printf("t = %p, t = %c\n", t, *t);
  9.  
  10.         if(*s=='\0')
  11.             return 0;
  12.     }*/
  13.    return s - t;
  14. }
  15.  
  16. int main(void)
  17. {
  18.    if(strcmp1("hola", "hola") == 0)
  19.        puts("Igual");
  20.    else
  21.        puts("Desigual");
  22.  
  23.    return 0;
  24. }
  25.  

Según veo con el depurador las direcciones de las cadenas son iguales sin ambas son iguales caso contrario son diferentes. Siendo sincero no entiendo porque pasa esto dos cadenas diferentes no deberían ocupar la misma dirección al mismo tiempo  :huh: ¿Alguien puede explicar que ocurre aquí?
93  Programación / Programación C/C++ / Peculiar función recursiva en: 4 Febrero 2015, 00:04 am
Navegando por internet me encontré un programa el cual no entiendo porque compila en mi caso en CodeBlock, como verán se define una función dentro de otra según tenia entendido esto es ilegal en C por lo cual esto me extraña mucho:

Código
  1. #include <stdio.h>
  2.  
  3. long fib(long x)
  4. {
  5.    long fib_i(long n)
  6.    {
  7.        return n < 2 ? n : fib_i(n - 2) + fib_i(n - 1);
  8.    };
  9.    if (x < 0)
  10.    {
  11.        printf("Bad argument: fib(%ld)\n", x);
  12.        return -1;
  13.    }
  14.    return fib_i(x);
  15. }
  16.  
  17. long fib_i(long n)
  18. {
  19.    printf("This is not the fib you are looking for\n");
  20.    return -1;
  21. }
  22.  
  23. int main()
  24. {
  25.    long x;
  26.    for (x = -1; x < 4; x ++)
  27.        printf("fib %ld = %ld\n", x, fib(x));
  28.  
  29.    printf("calling fib_i from outside fib:\n");
  30.    fib_i(3);
  31.  
  32.    return 0;
  33. }
  34.  

Alguien puede explicar porque funciona esto y como funciona  :huh:
94  Programación / Programación C/C++ / Re: Obtener longitud de un array de enteros en C en: 14 Enero 2015, 15:04 pm
Muchas gracias Blaster eres un genio  ;-)
95  Programación / Programación C/C++ / Re: Que es aliasing y aliasing estricto? en: 13 Enero 2015, 14:26 pm
¿Es una tarea?

No. Que te hace suponer que es una tarea? solo quise obtener información mas precisa sobre el tema en español ya que la poca información disponible al respecto en internet se encuentran en ingles :-(
96  Programación / Programación C/C++ / Obtener longitud de un array de enteros en C en: 13 Enero 2015, 14:15 pm
Esto es solo por curiosidad me preguntaba si existe una manera diferente que la convencional:

Código
  1. int n = sizeof(arr) / sizeof(arr[0]);

Para obtener el tamaño de un array de enteros he buscado mucho por internet pero nada al parecer es el único método existente.

Saludos ;D
97  Programación / Programación C/C++ / Que es aliasing y aliasing estricto? en: 12 Enero 2015, 15:31 pm
Buenas, soy nuevo en el foro y tengo dos dudas puntuales primero que nada si pueden darme la definición de:

¿Que es aliasing en c?
¿Que significa aliasing estricto en c?

Y si no es molestia ejemplos de situaciones en donde se nos puede presentar


 
Páginas: 1 2 3 4 5 6 7 8 9 [10]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines