问答题
试题二(15 分,每空3 分)
阅读以下函数说明和C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
[函数2.1 说明]
函数int fun1(int m,int n)的功能是:计算并返回正整数m 和n 的最大公约数。
[函数2.1]
int fun1(int m,int n)
{
while( (1) ) {
if ( m > n ) m = m - n;
else n = n - m;
}
(2) ;
}
[函数2.2 说明]
函数long fun2(char *str)的功能是:自左至右顺序取出非空字符串str 中的数字字符形成一个十进制整数(最多8 位)。
例如,若字符串str 的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。
[函数2.2]
long fun2(char *str)
{ int i = 0;
long k = 0;
char *p = str;
while ( *p != '\0' && (3) ) {
if ( *p >= '0' && *p <= '9' ) {
k = (4) + *p – '0';
++i;
}
(5) ;
}
return k;
}
【正确答案】(1)m!=n,及其等价式
(2)return m,或return n
(3)i<8,或i<=7,及其等价形式
(4)k*10
(5)p++, 或++p, 或 p+=1 ,或p=p+1
【答案解析】