Isso invoca um comportamento indefinido?
Considere o seguinte programa C:
#include <stdio.h>
int main(){
int a =-1;
unsigned b=-1;
if(a==b)
printf("%d %d",a,b);
else
printf("Unequal");
return 0;
}
Na linhaprintf("%d %d",a,b);
, "%d"
é usado para imprimir um tipo não assinado. Isso invoca um comportamento indefinido e por quê?