填空题 1.  下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。
    例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include<stdio.h>
    #include<conio.h>
    long fun(long num)
    {
    /********found********/
    long k;
    do
    {
    k*=num% 10;
    /********found********/
    num \=10;
    }while (num);
    return (k);
    }
    main()
    {
    long n;
    printf (" \n please enter a number:");
    scanf("% ld", &n);
    printf(" \ n% ld \ n", fun (n));
    }
  • 1、
【正确答案】 1、(1)long k=1;
   (2)num/=10;    
【答案解析】[考点]
   本题考查:数据类型;保存乘积的变量初始化;除法运算符。
   
   (1)k用来存放各位数字的积,初始值应为1。
   (2)此处是一个符号错误,除号用“/”来表示。
   明确一下C语言中的算术运算符:
   加法运算符“+”:为双目运算符,即应有两个量参与加法运算。
   减法运算符“-”:为双目运算符。但“-”也可作为负值运算符,此时为单目运算,例如-x,-5等具有左结合性。
   乘法运算符“*”:为双目运算符,具有左结合性。
   除法运算符“/”:为双目运算符,具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
   求余运算符(模运算符)“%”:为双目运算符,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。