用下面给定的代码调用,实现函数int CommonFactors(int a, int b),计算a和b的所有公约数。第一次调用返回最大公约数,以后只要再使用相同参数调用,每次返回下一个小一些的公约数。无公约数时返回-1。int main() {int sub;while ((sub =CommonFactors(100, 50)) > 0) {static int counter = 1;printf("Common factor %d is %d\n", counter++, sub);}return 0;}