ISRO | CSRO ISRO 2020 | Pregunta 25

¿Cuál es el resultado del siguiente código ‘c’ suponiendo que se ejecuta en una máquina Little Endian con dirección de bytes?

#include <stdio.h>
int main( )
 {
   int x; char *ptr;
   x = 622,100,101;
   printf("%d", (*(char *)&x) * (x % 3));
   return 0;
 } 

(A) 622
(B) 311
(C) 22
(D) 110

Respuesta: (D)
Explicación: En las máquinas little endian , el último byte de la representación binaria del tipo de datos multibyte se almacena primero.

Entonces, x = 622,100,101 se almacenará como 101,100,622 (el byte inferior se almacenará primero).
Por lo tanto, el valor impreso será 101.

#include <stdio.h>
int main( )
 {
   int x; char *ptr;
   x = 622,100,101;
   printf("%d", (*(char *)&x) * (x % 3));
   return 0;
 }

La opción (D) es correcta.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *