使用strstr()函数
为了解strstr()
具体怎样工作,我们来看一个例子。假设要在一个长字符串“dysfunctional”中找字符串“fun”,你可以像这样调用strstr()
:
strstr()
函数会在第一个字符串中查找第二个字符串,如果找到,它会返回第二个字符串在存储器中的位置,在这个例子中,函数会发现fun子串从存储器4 000 003号单元开始。
如果strstr()
找不到子串怎么办?如果找不到,strstr()
就会返回0值。为什么要返回0呢?如果你还记得,就知道C语言中0就相当于假,也就是说,可以用strstr()
检查一个字符串是否存在于另一个字符串中,像这样:
char s0[] = "dysfunctional";
char s1[] = "fun";
if (strstr(s0, s1))
puts("我在dysfunctional中找到fun了!");
我们来看看如何在点唱程序中应用strstr()。
游泳池拼图
酒吧那帮家伙开始写点歌程序的代码了。哦,不!代码掉进了游泳池。你能选出正确的代码并补全“找歌”函数吗?游泳池已经几百年没人洗了,所以要小心,有的代码可能一次都用不到。
注意:这群家伙加入了一些他们在这本书中其他地方找到的代码。
变身编译器
点唱程序需要一个主函数,它从用户那里读取输入,然后调用左页的find_track()
函数。你的任务是扮演编译器,说出你将在点唱程序中使用哪个main()
函数。
游泳池拼图解答
酒吧那帮家伙开始写点歌程序的代码了。哦,不!代码掉进了游泳池。你将选出正确的代码并补全“找歌”函数。
注意:这群家伙加入了一些他们在这本书中其他地方找到的代码。
变身编译器解答
点唱程序需要一个主函数,它从用户那里读取输入,然后调用左页的find_track()
函数。你的任务是扮演编译器,说出你将在点唱程序中使用哪个main()
函数。