给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCⅡ码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串

admin2013-03-29  42

问题 给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCⅡ码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
    例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
    不得增行或删行,也不得更改程序的结构!
#include  
int fun(char * s,char * t)
{  int n=0;
  while(*s)
  {  if(*s<97){
/**********found*********/
    *(t+n)= 【1】 ;n++;}
/***********found***********/
  【2】;
  }
  *(t+n)=0;
/************found**********/
  return 【3】;
}
main()
{ char s[81],t[81]; int n;
  printf("\nEnter a string:\n");
  gets(s);
  n=fun(s,t);
  printf("\nThere are%d letter which
ASCⅡcode is less than 97:%s\n",n,t);
}

选项

答案(1)*s (2)s++ (3)n

解析 第一空:“(t+n)=【1】;n++;",是将字符*s保存在t所指的字符串里,n记录满足条件的字符的个数,故第一空处应为“*s"。
    第二空:“while(*s)"循环的终止条件是达到s字符串的结束,因此在循环体内s应该不断往字符串尾移动,故第二空处应为“s++"。
    第三空:“return  【3】;"返回符合条件的字符的个数,n保存了符合条件的字符个数,故返回值为n,因此第三空处应为“n"。
转载请注明原文地址:https://kaotiyun.com/show/KWJp777K
0

最新回复(0)