计算机等级考试将至,今有C编程一题实在弄不懂,它的答案用的是指针解答的,望有高手可以用普通的方法帮我解答一下!!大恩不言谢!!
编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值为6。
函数readwriteDat()的功能是实现从文件in.dat中读取两个字符穿4,并调用函数findstr(),最后把结果输出到文件out.dat中。
注意:部分源程序已给出。
请勿改动主函数main()和函数ReadWrite()的内容。
原题答案:
int findStr(char *str,char *substr)
{ int n;
char *p , *r;
n=0;
while ( *str )
{ p=str;
r=substr;
while(*r)
if(*r==*p) { r++; p++; }
else break;
if(*r=='\0')
n++;
str++; }
return n;
}
请大家务必用普通的方法帮我解答!!对于指针我实在看不懂!~~
谢谢大家!!!
我是考3级网络技术,上级就考一道C,我其实一点也不会C的,听考过的人说上机答题时最好不用指针,我也刚学了一点C,又没什么时间,所以实在不想碰指针……
听大家这么说,反正那100题就这么一套非用指针不可,我就给它背下来好了……
再次感谢各位!!!