11.10.- ¿Qué es lo que ejecuta el siguiente programa?
#include <stdio.h> int mystery(unsigned); main() { unsigned x; printf("Introduce un entero: "); scanf("%u", &x); printf("El resultado es %d\n", mystery(x)); return 0; } int mystery(unsigned bits) { unsigned i, mask = 1 << 15, total = 0; for (i = 1; i <= 16; i++, bits <<= 1) if ((bits & mask) == mask) ++total; return total % 2 == 0 ? 1 : 0;; }
#include <stdio.h>
int mystery(unsigned);
main() {
unsigned x; printf("Introduce un entero: "); scanf("%u", &x); printf("El resultado es %d\n", mystery(x)); return 0;
unsigned x;
printf("Introduce un entero: ");
scanf("%u", &x);
printf("El resultado es %d\n", mystery(x));
return 0;
}
int mystery(unsigned bits)
{
unsigned i, mask = 1 << 15, total = 0; for (i = 1; i <= 16; i++, bits <<= 1) if ((bits & mask) == mask) ++total; return total % 2 == 0 ? 1 : 0;;
unsigned i, mask = 1 << 15, total = 0;
for (i = 1; i <= 16; i++, bits <<= 1)
if ((bits & mask) == mask) ++total;
if ((bits & mask) == mask)
++total;
return total % 2 == 0 ? 1 : 0;;