给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参S所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。 请在程序的下画线处填入正确的内容并

admin2016-12-06  19

问题 给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
    例如,形参S所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。
    请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
    注意:部分源程序在文件BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
1  #include<stdio.h>
2   #include<string.h>
3   #include<ctype.h>
4   int fun(char*s)
5   {int sum=0;
6   while(*s){
7   /*********found*********/
8    if(isdigit(*s))
9  sum+=* s-【1】;
10   /********* found*********/
11   【2】;
12   }
13   /*********found*********/
14   return【3】
15  }
16   main()
17   {char s[81];int n;
18  printf(’’\nEnter a string:\n\n’’);
19   gets(s);
20   n=fun(s);
21   printf(’’\nThe result is:%d\n\n’’,n);
22  }

选项

答案(1)48或’0’ (2)s++ (3)sum

解析 本题是把字符串中是数字字符转换成对应的数值并进行累加。
    填空1:’0’字符对应的ASCII码值是48,因此数字字符转换成对应数值时只要减去48,即是该数字字符对应的数值,所以应填48或者’0’。
    填空2:判断完一个字符之后,将字符串指针移到下一个位置,所以应填s++。
    填空3:返回累加和sum,所以应填sum。
转载请注明原文地址:https://kaotiyun.com/show/9NDp777K
0

最新回复(0)