Basic and Advance C Question:
How can I ensure that integer arithmetic doesnt overflow?
Answer:
The usual approach is to test the operands against the limits in the header file <limits.h> before doing the operation. For example, here is a ``careful'' addition function:
int
chkadd(int a, int b)
{
if(INT_MAX - b < a) {
fputs("int overflown", stderr);
return INT_MAX;
}
return a + b;
}
int
chkadd(int a, int b)
{
if(INT_MAX - b < a) {
fputs("int overflown", stderr);
return INT_MAX;
}
return a + b;
}
Previous Question | Next Question |
I am trying to compile this program | How can I handle floating-point exceptions gracefully? |