Я хочу знать диапазон чисел, которые можно использовать для «a» и «b» без ошибки (т.е. вывод также должен давать правильное значение.)
#include <stdio.h>
#include <stdlib.h>
int sum(int * , int *);
int main()
{
unsigned int a= 10;
int b = -30,c;
c=sum(&a,&b);
printf("sum of %d and %d is %d",a,b,c);
return 0;
}
int sum(int *p , int *q)
{
return *p+*q;
};
Я дал число со знаком переменной «a», которая объявлена как целое число без знака, и «-30» для переменной «b». Я получил правильный вывод для значений больше -2147483618 (-2147483617, -2147483616 и т. д.). Но я получил положительные значения для a=-2147483619 и далее. Почему это так? Пожалуйста, помогите мне.