Was passiert, wenn die ganze Zahl ihre Grenze überschreitet? Die Ausgabe ist 3595, und wie wird es kommen? Und es ist 2-Byte-Typ?Was passiert, wenn eine ganze Zahl addiert oder multipliziert wird?
#include<stdio.h>
#include<conio.h>
void main()
{
int n=12,res=1;
clrscr();
while(n>3)
{
n+=3;
res*=3;
}
printf("%d",n*res);
getch();
}
Verwandte: https://stackoverflow.com/questions/3948479/integer-overflow-and-undefined-behavior – Barmar
Um diese Frage zu beantworten, sich (was Sie tun müssen, wegen undefinierten Verhalten, was eine generische Antwort verhindert), sollten Sie printf() großzügig hinzufügen. Drucken Sie auch 'sizeof (int)', um die Antwort auf Ihre zweite Frage in Ihrer Umgebung zu finden. – Yunnosch