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

admin2013-09-15  25

问题 给定程序中,函数fun的功能是:将形参S所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
    例如,形参S所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
#include  <stdio.h>
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;
  print f("\nEnter a string:\n");gets(s);
  n=fun(s,t);
  printf("\nThere are%d letter which ASCII 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://jikaoti.com/ti/w1n0FFFM
0

随机试题
最新回复(0)