今天本来就打算去体验一下公司招聘的笔试题,结果不笔不是知道,一笔吓一跳(自己被鄙视了)
今天上午百度的笔试题:
如下程序,统计字符串中字母a~z出现的次数,foo函数有错误,请指出:
int foo(char a[], int cun[256])
{
memset(cun, 0, sizeof(cun));
while(*a != '\0')
{
cun[*a]++;
++a;
}
for(char ch='a'; ch<='z'; ch++)
{
if(cun[ch]>0)
printf("char %c, cun=%d\n", ch, cun[ch]);
}
return 0;
}
int main()
{
char a[] = "百度abc";
int cun[256];
foo(a, cun);
return 0;
}
我今天上午参加百度笔试, 一看这道题,我心想总算是遇到一道简单题了, 二话不说直接答道:
“错误在于‘++a"操作,因为a为数组名,是const char *类型,不能改变其值,因此也不能进行"++a"操作”。
结果今天