C | String | Pregunta 6

#include<stdio.h>
int main()
{
    char str[] = "GeeksQuiz";
    printf("%s %s %s\n", &str[5], &5[str], str+5);
    printf("%c %c %c\n", *(str+6), str[6], 6[str]);
    return 0;
}

(A) Error de tiempo de ejecución
(B) Error del compilador
(C) uiz uiz uiz
u uu
(D) Cuestionario Cuestionario Cuestionario
u uu

Respuesta: (D)
Explicación: El programa no tiene ningún error. Todas las siguientes expresiones significan lo mismo
&str[5]
&5[str]
str+5
Dado que el compilador convierte la operación de array en punteros antes de acceder a los elementos de la array, todo lo anterior da como resultado la misma dirección.

Del mismo modo, todas las siguientes expresiones significan lo mismo.
*(string+6)
string[6]
6[string]

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 *