Prediga la salida de los siguientes programas en C.
// PROGRAM 1 #include <stdio.h> #include <stdlib.h> int main(void) { static int *p = (int*)malloc(sizeof(p)); *p = 10; printf("%d", *p); }
// PROGRAM 2 #include <stdio.h> #include <stdlib.h> int *p = (int*)malloc(sizeof(p)); int main(void) { *p = 10; printf("%d", *p); }
Ambos programas anteriores no se compilan en C. Obtenemos el siguiente error de compilación en C.
error: initializer element is not constant
En C, el propio compilador inicializa las variables estáticas y globales. Por lo tanto, deben inicializarse con un valor constante.
Tenga en cuenta que los programas anteriores se compilan y funcionan bien en C++, y producen la salida como 10.
Como ejercicio, prediga la salida del siguiente programa tanto en C como en C++.
#include <stdio.h> int fun(int x) { return (x+5); } int y = fun(20); int main() { printf("%d ", y); }
Este artículo es una contribución de Shankar Shastri. 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