我试图做一个程序,显示在C短短的int溢出。在我的程序中,输入两个短整型,然后我添加它们。如果加法优于32767,我们有负溢出,如果加法低于-32678,我们有一个正溢出。溢出语言C中的短整数
现在我的问题是,当使用if
时,我的程序拒绝尊重任何条件。但是当我使用do while
我的程序认为我同时尊重这两个条件。
short int n1, n2, somme;
printf("Enter the first number: ");
scanf("%hi", &n1);
printf("enter the second number : ");
scanf("%hi", &n2);
somme= n1 + n2;
do
{
printf("negative overflow\n");
}while (somme>32767);
do
{
printf("negative overflow\n");
}while (somme<-32768);
printf("the result is %hi", somme);
对不起,我的英语。并感谢阅读,请帮助。
你是不是要用'if'而不是'do ... while'? –
你知道'做什么'的作品吗?这不是“if”的替代。即使条件不满足,块中的代码也会执行一次。所以“但是当我使用程序时,我认为我同时尊重这两个条件”,这是错误的。你的程序在逻辑上不正确。 –
我尝试过“如果”但它不起作用。 –