Tag: UNDEFINED-BEHAVIOR
#include <stdio.h> #include <stdlib.h> int main() { int n, tg=0; printf(“Ingrese el número de asignaturas: “); scanf(“%d”, &n); while (n>0) { int grade; printf(“Ingrese las calificaciones: “); scanf(“%d”, &grade); n–; tg+=grade; } float avg; avg = (tg/n); printf(“\nSu Promedio es %f\n”, avg); return 0; } /* Se supone que debe . . . Read more
Mi código es: #include <stdio.h> int main() { char ch[5] = “funny”; printf(“gum: “); printf(“ze numbre is %c \n”, ch); } Según lo que he aprendido, debería imprimir: gum: ze numbre is funny Pero en lugar de imprimir la variable ch, muestra un símbolo extraño (se parece a un cuadrado . . . Read more
En man 2 write la sección NOTES contiene la siguiente nota: En Linux, write() (y llamadas al sistema similares) transferirán como máximo 0x7ffff000 (2.147.479.552) bytes, devolviendo el número de bytes realmente transferidos. (Esto es válido tanto en sistemas de 32 bits como en sistemas de 64 bits.) ¿Por qué es . . . Read more
Entiendo que este comportamiento es indefinido y nadie realmente escribe código como este. Sin embargo, tengo curiosidad por saber qué haría el compilador con este fragmento de código. Compilé utilizando tanto clang como gcc para hacer una comparación. Sin optimizaciones. Aquí está el ensamblado generado por clang: # clang -O0 . . . Read more
Estoy estudiando para el examen final de mi clase de introducción a C++. Nuestro profesor nos dio este problema para practicar: Explica por qué el código produce la siguiente salida: 120 200 16 0 #include <iostream> using namespace std; int main() { int x[] = {120, 200, 16}; for (int . . . Read more