Use a source-level debugger to monitor the execution of the following
code:
#include
int IsDivisibleBy(int dividend, int divisor);
int main(void)
{
int f; // The number of integer factors of a number
for (int i = 2; i <>
f = 0;
for (int j = 2; j <>
if (IsDivisibleBy(i, j))
f++;
}
printf("The number %d has %d factors\n", i, f);
}
}
int IsDivisibleBy(int dividend, int divisor)
{
if (dividend % divisor == 0)
return 1;
else
return 0;
}
a. Set a breakpoint at the beginning of function IsDivisibleBy and
examine the parameter values for the first ten calls. What are they?
b. What is the value of f after the inner for loop ends and the value of
i equals 660?
c. Can this program be written more efficiently? Hint: Monitor the
value of the arguments when the return value of IsDivisibleBy
is 1.