C语言中没有你不知道的,只有你不会调
Java语言中没有你不会调的,只有你不知道
一级指针易错类型分析
1,不要相信主调函数给你传的内存空间
void func(int *ptr)
{
if(ptr==NULL)
{printf("ptr error!!!");return ;}
...
...
}
2,越界问题
char arr[3]="123";
//字符串结尾应为\0,如果输出arr123烫烫........
3,你向函数外面传递了什么。
ex:求子串在父串中出现的次数。
int GetSubCount(char *str, char *substr, int *mycount)
{
int ret = 0;
if (str == NULL || substr == NULL || mycount == NULL)
{
ret = -1;
return ret;
}
char *p = str;
char *sub = substr;
int count = 0;
while (*p != '\0')
{
p = strstr(p, sub);
if (p != NULL)
{
count++;
p = p + strlen(sub);
}
else
{
break;
}
}
*mycount = count;
return ret;
}