PUERTA | GATE-CS-2017 (Conjunto 2) | Pregunta 35

Considere la siguiente función implementada en C:

void printxy(int x, int y)
{
    int *ptr;
    x = 0;
    ptr = &x;
    y = *ptr;
    *ptr = 1;
    printf("%d,%d", x, y);
}

La salida de printxy(1,1) es
(A) 0,0
(B) 0,1
(C) 1,0
(D) 1,1

Respuesta: (C)
Explicación:

#include
void main()
{
 int x = 1, y = 1;
 printxy(x,y);
}
void printxy(int x, int y) 
{  
    int *ptr;     
    x = 0;     
    
    // ptr point to variable of value 0 
    ptr = &x;      
    
    // y has value pointed by ptr -> x= 0;
    y = *ptr;   
    
    // value pointed by ptr is set to 1 -> x= 1;
    *ptr = 1;       
    
    //x be changed to 1 and y will remain 0
    printf("%d,%d", x, y);  
}

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 *