问答题 试题二(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
【答案解析】