请编写一个函数int pattern_index(char substr[],char str[]),该函数执行含通配符“?”的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用 for循环实现。输出结果如下:
子串起始位置:5
注意:部分源程序已存在文件test20_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。
文件test20_2.cpp的内容如下:
include<iostream.h>
int pattern_index(char substr[],char str[])
{
}
void main ( )
{
char *substring,*string;
int same;
substring="???gram";
string="this program return index of substring";
same=pattern_index(substring, string);
if(same)
cout<<"子串起始位置: "<<same<<end1;
else
cout<<"匹配不成功" <<end1;
}
C语言中 while 和do-while循环的主要区别是
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件更严格
C.do-while允许从外部转到循环体内
D.do-while 的循环体不能是复合语句
滚动条的( ) 属性用于指定用户单击滚动条的滚动箭头时,Value属性值的改变量。
A、LargeChange
B、SmallChange
C、Value
D、Change
单击表单中的命令按钮,要求弹出一个“您好!”的消息对话框,应该在命令按钮的Click事件中编写代码:______=("您好!")
若在定义语句: int a,b,c,*p=&c; 之后,接着执行以下选项中的语句,则能正确执行的语句是
A ) scanf("%d",a,b,c);
B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p);
D)scanf("%d",&p);
若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。
A.1和5
B.2和4
C.4和2
D.5和1