Resultados de la búsqueda a petición "undefined-behavior"
¿Por qué es a = (a + b) - (b = a) una mala elección para intercambiar dos enteros?
Me topé con este código para intercambiar dos enteros sin usar una variable temporal o el uso de operadores a nivel de bits.
Secuencia de puntos y efectos secundarios: ¿Cambio silencioso en C11?
C99 §6.5Expresiones(1) Una expresión es una secuencia de operadores y operandos que especifica el cálculo de un valor, o que designa un objeto o una función,...
¿Por qué la operación de desplazamiento a la izquierda invoca Comportamiento indefinido cuando el operando del lado izquierdo tiene un valor negativo?
En C, la operación de desplazamiento a la izquierda en modo bit invoca el comportamiento indefinido cuando el operando del lado izquierdo tiene un valor negativo. Cita relevante de ISO C99 (6.5.7 / 4) El resultado de E1 << E2 es E1 posiciones ...
¿Podemos cambiar el valor de un objeto definido con const a través de punteros?
#include <stdio.h> int main() { const int a = 12; int *p; p = &a; *p = 70; } ¿Funcionará?
¿Cuáles son las razones por las que extender el espacio de nombres estándar se considera un comportamiento indefinido?
¿Por qué agregar nombres a lastd comportamiento indefinido del espacio de nombres? La respuesta obvia es "porque el estándar lo dice", p. en C ++ 14 [namespace.std] 17.6.4.2.1 / 1: El comportamiento de un programa C ++ no está definido si ...
++ i + ++ i + ++ i en Java vs C
int i=2; i = ++i + ++i + ++i;¿Cuál es más correcto? El resultado de Java de 12 o C = 13. O si no es una cuestión de corrección, explique.
¿Por qué printf ("% f", 0); dar un comportamiento indefinido?
La declaración printf("%f\n",0.0f);imprime 0. Sin embargo, la declaración printf("%f\n",0);Imprime valores aleatorios. Me doy cuenta de que estoy exhibiendo algún tipo de comportamiento indefinido, pero no puedo entender por qué ...