Prerrequisito: Toma de decisiones en C
Pregunta 1
C
#include"stdio.h" #include"stdlib.h" void reverse(int i) { if (i > 5) exit(0); printf("%d\n", i); return reverse(i++); } int main() { reverse(1); }
OPCIONES:
a) Fallo de segmentación
b) Error de compilación
c) Imprimir 1 Tiempo infinito
d) Tanto a como c
OUTPUT: (d)Both a & c
Explicación:
Llamamos al método principal una y otra vez por 1 porque usamos post-incremento. En cierto momento, el marco de la pila estará lleno, lo que significa que se produce un error de segmentación.
Pregunta 2
C
#include"stdio.h" int main() { if(-1L>1UL) printf("paul is crazy"); else printf("mannu is Crazy"); }
OPCIONES:
a)mannu está loco
b)paul está loco
OUTPUT: (b)paul is crazy
Explicación:
aquí, la comparación entre long int y long int sin signo generalmente no es posible.
Ahora, el int largo se promociona a un int largo sin signo cuyo valor será
(2^size_of_unsigned_long_int)-1.
Pregunta 3
C
#include"stdio.h" int main() { int i; if(i=0,2,3) printf("Geeksforgeeks "); else printf("Hello "); printf("%d\n",i); }
OPCIONES:
a)Hola 3
b)Hola 0
c)Geeksforgeeks 0
d)Geeksforgeeks 3
OUTPUT: (c) Geeksforgeeks 0
Explicación: Al principio, el cero se asignará en ‘i’, luego el operador de coma devuelve el último valor, que es 3, y la condición se vuelve verdadera.
Pregunta 4
CPP
#include"stdio.h" int main() { int i; if(i=(2,1,0)) printf("Geeksforgeeks "); else printf("Hello "); printf("%d\n",i); }
OPCIONES:
a)Hola 3
b)Geeksforgeeks 0
c)Hola 0
d)Geeksforgeeks 3
OUTPUT: (c) Hello 0
Explicación: la prioridad del paréntesis es mayor que el operador igual a (=), por lo que al principio el operador de coma devuelve el último valor que es cero (0) y luego el operador igual a (=) asigna 0 a ‘i’ y la condición se vuelve falsa.
Pregunta 5
C
#include"stdio.h" int main() { float a=0.7d; if(a<0.7) printf("C"); else printf("C++"); return 0; }
OPCIONES:
a)Error de compilación
b)C++
c)C
OUTPUT: (C)C
Explicación:
a = 0,7 se redondea a 0,699999988
y la constante 0,7 es 0,69999999999,
por lo que a<0,7 es verdadero, por lo que imprime «c»
, pero en el caso de 0,8
a = 0,800000011 y la
constante 0,8 es 0,8000000000000000
Este artículo es una contribución de Abhishek kurmi . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.