Pregunta 1
#include<stdio.h> int main() { int i; for (i = 0; i<5; i++) { int i; i = 10; printf("%d ", i) ; } return 0; }
10 10 10 10 10
Explicación:
Aquí, parecería que, como a ‘i’ se le asignó un valor de 10, el ciclo se ejecutará solo una vez porque la condición del ciclo fallará cuando ‘i’ se convierta en 11 la próxima vez que ingrese al ciclo. Pero el resultado es bastante diferente de lo que esperábamos. La razón detrás de esto es que el alcance de la variable está dentro del método. Tan pronto como el bucle sale, i se cuenta de acuerdo con i del bucle for, lo que hace que la condición sea verdadera hasta 5 veces (0-4). Consulte las reglas de alcance para obtener más detalles.
Aquí, el ciclo se ejecuta de acuerdo con la ‘i’ declarada fuera del ciclo y, por lo tanto, se ejecutará cinco veces y la ‘i’ dentro del ciclo se imprimirá cinco veces.
Pregunta 2
#include<stdio.h> int main() { int i = 10; static int x = i; if (x==i) printf("x and i are Equal\n"); return 0; }
x and i are Equal
Explicación:
Como x e i tienen el mismo valor, la condición if se cumple e imprime «x e i son iguales».
Nota: En C, este mismo programa producirá un error de tiempo de compilación, ya que las variables estáticas son entidades de tiempo de carga, mientras que las variables automáticas son entidades de tiempo de ejecución y no podemos inicializar ninguna variable de tiempo de carga mediante la variable de tiempo de ejecución.
Pregunta 3
#include <stdio.h> #include <string.h> int main() { printf("GEEKS size = %ld \n\n", sizeof("GEEKS")); printf("GEEKS length = %ld \n", strlen("GEEKS")); return 0; }
GEEKS size = 6 GEEKS length = 5
Explicación: la función
sizeof() devuelve el tamaño de la string, incluido el carácter nulo, mientras que la función strlen() devuelve la longitud de la string, excluyendo el carácter nulo.
Pregunta 4
#include <stdio.h> int extern i; int main() { printf("%d", i); } int i = 10;
10
Explicación:
Con la ayuda de la palabra clave extern, la declaración de la variable se puede realizar en cualquier parte del programa. Aquí, i es una variable que se declara después de la instrucción printf fuera de main. Aún así, se puede acceder mediante la declaración printf ya que es una variable externa. Para más detalles sobre la palabra clave extern
Pregunta 5
#include<stdio.h> int main() { int a = 10; printf("%o %x", a, a); return 0; }
12 a
Explicación:
Como, %o se usa para imprimir el número en formato de número octal y %x se usa para imprimir el número en formato de número hexadecimal. Y si convertimos decimal 10 a octal, obtenemos 12 y en hexadecimal dará un
Pregunta 6
#include<stdio.h> int main() { printf("%s", "Geeks\nFor\nGeeks\nis\nthe\nbest"); }
Geeks For Geeks is the best
Explicación:
En lugar de obtener resultados como Geeks\nFor\nGeeks\nis\nthe\nbest , el resultado es algo diferente. %s trata \n como ‘nueva línea’ incluso si está dentro de una string.
Este artículo es una contribución de Mazhar Imam Khan . 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.
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