发布网友 发布时间:2022-07-19 19:23
共2个回答
好二三四 时间:2022-08-14 03:40
chars可以是一个名词,意思是烧焦物、【木】木炭,也可以作动词,意思是(使)烧黑、烧焦、当家庭清洁工,这个单词可以划分为几个音节呢?我们一起来看一看,这个单词一共只有一个音节,第一个音节里面的字母组合ar的发音为【a:】,辅音字母组合ch的发音为【t?】,字母s的发音为【z】,所以合在一起的话这个单词的发音就是【t?a:z】;
我们再看一下用法,chars可以是一个名词,意思是烧焦物、【木】木炭,也可以作动词,是动词原形char的三单形式,作为烧成碳、烧焦、当打杂女工的意思来使用,例如在下面这几个句子里,Please char this octopus,请你把这只章鱼烤焦,在这个句子中,chars作动词、指的是烧焦,The Chinese chars can be used to make this material,中国的木炭可以用来制作这种材料,在这个句子中,chars作名词,指的是木炭,chars这个单词你学会了吗?
热心网友 时间:2024-11-25 04:25
你的程序if(*string != *chars++)热心网友 时间:2024-11-25 04:25
第二个while是错的,简单的字符串匹配(暴力法)通常是:
两个循环,外层移动文本指针,内层做模式比对,整个算法复杂度为O(m*n),m为文本长度,n为模式长度。
你代码的主要问题在于:
1. 内层循环中string和chars没有“回退”
2. 内层循环应该有break,即——两字符串的前缀不匹配,那么他们两者一定不匹配
应该改成:
while(*string!=null)或者改成(改动最小):
while(*string!=null)两种改法一样,都是暴力法。
关于字符串匹配,《Algorithm》一书讲解的较为细致,楼主可自行查阅。
如果没有特殊要求,可以用C库<string.h>里提供的strstr函数:
char * strstr ( const char *, const char * ); // 返回匹配位置,或NULL(匹配失败)
也可以用C++库std::string的成员函数find,返回匹配下标,或者std::string::npos(匹配失败)