Encuentra la salida de los programas en C ++ (punteros)

Aquí, se encontrar la salida de los programas basados ​​en puntero en C ++ , usted tiene que encontrar sus salidas. Salidas y sus explicaciones son existe aquí.

1. Encontrar la salida del siguiente programa en C ++.

#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
float x=5.999;
float *y,*z;
y=&x;
z=y;
cout<<x<<","<<*(&x)<<","<<*y<<","<<*z<<"n";
return 0;
}

salida

5.999,5.999,5.999,5.999

Explicación

La razón de esto es x da el valor almacenado en la variable x. * (& X) da el valor de los datos almacenados en la dirección de y x es decir, el valor de datos de x. Puesto que y puntos a x (..Y = & x), * y da el valor de x. Y debido a que z tiene la misma dirección que la de Y, * z también da el valor de x es decir, 5,999.

2. Encontrar la salida del siguiente programa en C ++.

#include<iostream>
using namespace std;
int main()
{
int track[]={10,20,30,40},*striker;
striker=track;
track[1]+=30;
cout<<"Striker>"<<*striker<<endl;
*striker-=10;
striker++;
cout<<"[email protected]"<<*striker<<endl;
striker+=2;
cout<<"[email protected]"<<*striker<<endl;
cout<<"Reset To"<<track[0]<<endl;
return 0;
}

salida

Striker>10
[email protected]
[email protected]
Reset To0

Explicación

La matriz pista contiene 4 elementos {10,20,30,40} y el puntero delantero ejerce en la dirección de base de la matriz pista es decir, la dirección de la pista [0].
1) * delantero mantiene el valor de datos de la pista [0] es decir, 10. Decremento en * delantero por 10 hace que la pista [0] = 0.
2) incremental puntero delantero da la siguiente ubicación de pista es decir, 1. Ahora delantero * da el valor de datos de la pista [1].
3) Una vez más mediante el incremento por 2, alcanza delantero a la dirección 4 de la matriz de seguimiento es decir, la pista [4].
4) En última impresión el valor en la pista de [0], que es 0 (véase la etapa 1).

3. Encontrar la salida del siguiente programa en C ++.

#include<iostream>
using namespace std;
int main()
{
int a=32,*ptr=&a;
char ch='A',&cho=ch;
cho+=a;
*ptr+=ch;
cout<<a<<","<<ch<<endl;
return 0;
}

salida

129,a

Explicación

ptr es un puntero que contiene la dirección de un while * ptr devuelve el valor de datos de un . Cho es una variable de referencia que mantenga la referencia de ch . Ahora, incrementando el valor de cho por 32 (ASCIIvalue), reflejar a cho y ch hace que sea igual a “a” (alfabeto). En último paso, el valor de los datos de * ptr incrementa en cap i. e., “a” da a = 129.

4. Encontrar la salida del siguiente programa en C ++.

#include<iostream>
using namespace std;
int main()
{
const int i=20;
const int *const ptr=&i;
(*ptr)++;
int j=15;
ptr=&j;
return 0;
}

salida

Compilation  Error

Explicación

ptr es un puntero constante a número entero constante, cuyos medios pueden modificar ni el puntero ni su contenido, por lo que las líneas 6 y 8 no son válidos como que están tratando de modificar los contenidos y puntero respectivamente.

5. Encuentra la salida del siguiente programa en C ++.

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char *s="GOODLUCK";
for(int i=strlen(s)-1;i>=0;i--)
{
for(int j=0;j<=i;j++)
cout<<s[j];
cout<<endl;
}
return 0;
}

salida

GOODLUCK
GOODLUC
GOODLU
GOODL
GOOD
GOO
GO
G

Explicación

puntero s apunta al primer elemento de la cadena “GOODLUCK”. Mediante el uso de la función de longitud de la cadena ( strlen () ), encontrar la longitud de la cadena y luego a través de bucles anidados anteriores patrón es formado.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *