Testing and Debugging
Error Return
A helper can return a status code and write the result through an output pointer.
Error Return
error_return.c
#include <stdio.h>
int safe_divide(int numerator, int denominator, int *result) {
if (denominator == 0) {
return 0;
}
*result = numerator / denominator;
return 1;
}
int main(void) {
int denominator = ;
int result = 0;
int ok = safe_divide(80, denominator, &result);
printf("ok=%d result=%d\n", ok, result);
return 0;
}
#include <stdio.h>
int safe_divide(int numerator, int denominator, int *result) {
if (denominator == 0) {
return 0;
}
*result = numerator / denominator;
return 1;
}
int main(void) {
int denominator = ;
int result = 0;
int ok = safe_divide(80, denominator, &result);
printf("ok=%d result=%d\n", ok, result);
return 0;
}
#include <stdio.h>
int safe_divide(int numerator, int denominator, int *result) {
if (denominator == 0) {
return 0;
}
*result = numerator / denominator;
return 1;
}
int main(void) {
int denominator = ;
int result = 0;
int ok = safe_divide(80, denominator, &result);
printf("ok=%d result=%d\n", ok, result);
return 0;
}
status return
The return value reports whether the helper succeeded.
output pointer
The output pointer receives the computed value only on the successful path.