Я пытаюсь создать программу, которая показывает короткие переполнения int в C. В моей программе вы вводите два коротких int и добавляете их. Если добавление превосходит 32767, мы имеем отрицательное переполнение, и если добавление уступает -32678, у нас есть положительное переполнение.overflow short int в языке 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'. Код в блоке будет выполняться один раз, даже если условие while не выполняется. Итак, «Но когда я использую, пока моя программа считает, что я уважаю оба условия одновременно», неправильно. Ваша программа логически неверна. –
Я пробовал с "if", но это не работает. –