Prediga la salida de los siguientes programas C++:
- Pregunta 1 :
CPP
#include <cstdlib> #include <iostream> using namespace std; int main() { int ran = rand(); cout << ran << endl; return 0; }
- Producción:
1804289383
- Explicación: Como el número declarado es un número entero, producirá el número aleatorio de 0 a RAND_MAX. El valor de RAND_MAX depende de la biblioteca, pero se garantiza que sea al menos 32767 en cualquier implementación de biblioteca estándar.
- Pregunta 2 :
CPP
#include <cstdlib> #include <iostream> using namespace std; int main() { cout << RAND_MAX << endl; return 0; }
- Producción:
2147483647
- Explicación: la salida depende del compilador. RAND_MAX es una función utilizada por el compilador para crear un número aleatorio máximo.
- Pregunta 3 :
CPP
#include <iostream> using namespace std; int main() { void a = 10, b = 10; int c; c = a + b; cout << c; return 0; }
- Producción:
Compile time error
- Explicación: void no aceptará ningún valor para su tipo.
- Pregunta 4 :
CPP
#include <iostream> using namespace std; int array1[] = { 1200, 200, 2300, 1230, 1543 }; int array2[] = { 12, 14, 16, 18, 20 }; int temp, result = 0; int main() { for (temp = 0; temp < 5; temp++) { result += array1[temp]; } for (temp = 0; temp < 5; temp++) { result += array2[temp]; } cout << result; return 0; }
- Producción:
6553
- Explicación: En este programa estamos sumando cada elemento de dos arreglos. Todos los elementos de array1[] y array2[] se agregarán y la suma se almacenará en el resultado y, por lo tanto, la salida es 6553.
- Pregunta 5 :
CPP
#include <iostream> using namespace std; int main() { int a = 5, b = 10, c = 15; int arr[3] = { &a, &b, &c }; cout << *arr[*arr[1] - 8]; return 0; }
- Producción:
Compile time error!
- Explicación: la conversión no es válida en esta array. Se declara que la array arr[] contiene un valor de tipo entero, pero estamos tratando de asignar referencias (direcciones) a la array para que surja un error. Se generará el siguiente error de compilación:
cannot convert from ‘int *’ to ‘int’
- Pregunta 6 :
CPP
#include <iostream> using namespace std; int main() { int array[] = { 10, 20, 30 }; cout << -2 [array]; return 0; }
- Producción:
-30
- Explicación: -2[array]: esta sentencia es equivalente a -(array[2]). En el índice cero se almacena 30, por lo que se imprimirá la negación de 30 debido al operador unario (-).
- Pregunta 7 :
CPP
#include <iostream> using namespace std; int main() { int const p = 5; cout << ++p; return 0; }
- Producción:
Compile time Error!
- Explicación: Las variables constantes son aquellas cuyo valor no se puede cambiar durante la ejecución. La declaración ++p intenta cambiar el valor, por lo tanto, el compilador generará un error.
- Pregunta 8 :
CPP
#include <iostream> using namespace std; int main() { char arr[20]; int i; for (i = 0; i < 10; i++) *(arr + i) = 65 + i; *(arr + i) = '\0'; cout << arr; return (0); }
- Producción:
ABCDEFGHIJ
- Explicación: Cada vez que estamos asignando 65 + i. En la primera iteración se asigna i = 0 y 65. Entonces imprimirá de A a J.
- Pregunta 9 :
CPP
#include <iostream> using namespace std; int Add(int X, int Y, int Z) { return X + Y; } double Add(double X, double Y, double Z) { return X + Y; } int main() { cout << Add(5, 6); cout << Add(5.5, 6.6); return 0; }
- Producción:
Compile time error!
- Explicación: aquí queremos agregar dos elementos, pero en las funciones dadas tomamos 3 argumentos. Entonces, el compilador no obtiene la función requerida (función con 2 argumentos)
- Pregunta 10 :
CPP
#include <iostream> using namespace std; #define PR(id) cout << "The value of " #id " is " << id int main() { int i = 10; PR(i); return 0; }
- Producción:
The value of i is 10
- Explicación: En este programa, solo estamos imprimiendo el valor declarado a través de una macro. Observe detenidamente que en macro no se usa punto y coma (;) como declaración de terminación.
Este artículo es una contribución del correo electrónico de Avinash Kumar Singh : avinash.sing.inbox@gmail.com . 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