Salida del siguiente programa bajo el supuesto de que los números se almacenan en forma de complemento a 2.
#include<stdio.h> int main() { printf("%c\n", ~('C' * -1)); return 0; }
Contribuido por Sowmya.LR
(A) B
(B) A
(C) Error del compilador
(D) C
Respuesta: (A)
Explicación: ejecutado sin ningún mensaje de error o advertencia y la salida del código anterior es
‘B’
El programa anterior procesa como se muestra a continuación
Paso 1:
Primero (‘C’ *-1) se procesa
El valor ASCII de ‘C’ es 67 y se multiplica con -1 como
67 * (-1) = -67
Paso 2:
La representación binaria de – 67 es 10111101
La negación bit a bit de 10111101 se convierte en (01000010) 2 = (66) 10
Paso 3:
66 es el valor ASCII de ‘B’
Entonces ~(‘C’*-1) = 66 y así la salida de lo anterior el programa es B
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