问答题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char*src,char*buf)从src开始扫描下一个数字字符序列,并将其作为一个字符串取出放人字符串空间buf中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。 运行程序时,如果输入的一行字符序列是 ABC012XYZ378MN274WS则输出为: Digit string 1 is 012 Digit string 2 is 378 Digit string 3 is 274 注意:只在横线处编写适当代码,不要删除或移动“//****found****”.//proj2.cpp#include<iostream>using namespace std;char*GetNum(char*see,char*bur){ while(*src!=’\0’) { if(isdigit(*src))break; SrC++; } if(*src==’\0’)//*******found********_______;while(*src!=’\0’&& isdigit(*src)){//******** found********_______;bur++;src++; } *bur=’\0’; return srC;}int main(){char str[1 00],digits[20];cin.getline(str,1 00);char*P=str;int i=1;while((p=GetNum(p,digits))!=NULL){ tout<<”Digit string”<<i<<”is”<<digits<<endl;//********found********_________;}return 0;}
【正确答案】正确答案:(1)retum NULL (2)*buf=*arc (3)i++
【答案解析】解析:(1)主要考查考生对if语句的掌握,由判断条件if(*src==’\0’),说明字符串src为空,则返回NULL即可。 (2)主要考查考生对while循环语句的掌握,while语句的循环条件为*src!=’\0’&&isdigit(*src),该条件是指,若字符串src不为空并且*src指向的字符为数字字符,则进行循环。题目要求把数字字符放入字符串buf中,因此为*buf=*src. (3)主要考查考生对while循环语句的掌握,从上一行语句cout<<”Digit string”<