首页 > 试题广场 >

下面C程序的输出结果是 unsigned fun(unsig

[单选题]
下面C程序的输出结果是
unsigned fun(unsigned);
int main()
{
    unsigned num = 26;
    printf("%d", fun(num));
    return 0;
}
unsigned fun(unsigned num)
{
    unsigned k = 1;
    do
    {
        k *= num % 10;
        num /= 10;
    } while (num);
    return(k);
}
  • 12
  • 无限循环
  • 1
  • 26
这里while(num)的判断条件是默认num>0
k==1,num==26 -> k*=(26%10) => k*=6 => k=1*6=6 , num/=10 => num=26/10=2;
k==6,num==2  -->  k*=(2%10) => k*=2 => k=k*2=12,num/=10 =>  num=2/10=0;
num==0 循环结束。
return k=> return 12;

发表于 2018-07-18 21:05:38 回复(0)