十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
创新互联建站专注于铁山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供铁山营销型网站建设,铁山网站制作、铁山网页设计、铁山网站官网定制、微信小程序开发服务,打造铁山网络公司原创品牌,更为您提供铁山网站排名全网营销落地服务。
#include string.h
int count(const char *data, const char *key)
{
/*在data中查找key出现的次数*/
const char *pos=data;
int result=0,len=strlen(key);
while((pos=(strstr(pos,key)))!=NULL)
{
++result;
if(pos[len]=='\0')
break;
else
pos+=len;
}
return result;
}
int main()
{
printf("%d\n",count("abcabcdef", "abc"));/*测试查找函数*/
return 0;
}
颠倒数字符合先进后出的顺序,可以借助栈来执行。首先分解这个数字,将每一位存到栈中,然后在将栈中的数字逐个出栈,组合在一起即可。代码如下:
int reverse(int num)
{
int stack[100];
int top = 0;
int result = 0;
while (num != 0)
{
stack[top++] = num % 10;
num /= 10;
}
while (top != 0)
{
result *= 10;
result += stack[--top];
}
return result;
}
你仔细对比一下就会发现,第一个声明的是一个一维数组char a[6]
而第二个声明的是是数组指针char *a[6]
你可以把数组指针、指针数组、二维指针统统理解为二维数组。
所以第一个中,a[1]只能代表一个char,而不能赋值为字符串。
第二个钟,a[1]相当于char *c 其中c是一个char类型的指针,也就相当于char类型的一维数组。