问题
单项选择题
有以下程序:
#include<stdio.h>
int abc(int u, int v);
main()
int a=24, b=16, c;
c=abc(a, b);
printf("%d\n", c);
int abc(int u, int v)
int w;
while(v)
w=u%v; u=v; v=w;
return;
输出结果是( )。
A.6
B.7
C.8
D.9
答案
参考答案:C
解析: abc函数是求u、v的最大公约数,当v=16时,循环成立,执行其后的语句,即w=u%v, u=v; v=w; w=24%16=8, u=16, v=8,接着返回到while中,当v=8时,循环成立,执行其后的语句,即w=u%v; u=v; v=w; w=16%8=0, u=8, v=0,接着再返回到while中,当v=0时,循环不成立,退出循环。