请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char’lc 8rc,char *buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放人

admin2019-05-29  26

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char’lc 8rc,char *buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放人字符串空间buf中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。
运行程序时,如果输入的一行字符序列是
ABC012XYZ378MN274WS
则输出为:
Diot string 1 is 012
Digit stung 2 is 378
Diot striIlg 3 is 274
注意:只在横线处编写适当代码,不要删除或移动
“//****found****”。
//proj2.cpp
#include
using namespace std;
char*GetNum(char*src,char*bur)
{
  while(*SrC!=‘\0’)
  {
if(isdigit(*SrC))break;
SrC++;
}
if(*SrC=‘\0’)
//*********found*********
_________;
while(*src!=‘\0’&&isdigit(*SEC))
{
//*********found*********
_____;:
bur++;
SrC++;
}
*bur=‘\0’;
return SrC;
  }
  int main()
  {
  char str[100],digits[20];
  cin.getline(str,100);
  char*p=str;
  int i=1;
  while((p=GetNurn(p,digits))!=NULL)
  {
cout<<“Digit string”<is”<//*********found*********
_________;;
}
return 0 ;
  }

选项

答案(1)return NULL (2)*buf=*src (3)i++

解析 主要考查的是GetNum函数、while循环语句、if语句和字符数组。从该函数的声明中,可以得到如下信息:该函数的返回值为字符指针,形参为两个字符指针SYC和bufo该函数的功能是,函数从sre开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。
【解题思路】
(1)主要考查考生对if语句的掌握,由判断条件if(*src==‘\0’),说明字符串SIC为空,则返回NULL即可。
(2)主要考查考生对while循环语句的掌握,while语句的循环条件为/src!=’\0’&&isdigit(*src),该条件是指,若字符串sic不为空并且*src指向的字符为数字字符,则进行循环。题目要求把数字字符放人字符串buf中,因此为*buf=*src。
(3)主要考查考生对while循环语句的掌握,从上一行语句cout<<“Digit string”<
转载请注明原文地址:https://jikaoti.com/ti/hXA0FFFM
0

相关试题推荐
最新回复(0)