统计tt所指字符串中‘a'到‘z’26个小写字母各自出现的次数,并依次放到pp所指数组中。

输入:abcdefgabcdeabc则输出:33322110000000000000000000#include<stdio.h>#include<string.h>vo... 输入:abcdefgabcdeabc 则输出:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

#include <stdio.h>
#include <string.h>
void fun(char * tt, int pp[])
{
int i;
for(i=0; i<26; i++)
pp[i] = 0;
for(; *tt != '\0'; tt++)
if(*tt>='a' && *tt<='z')
pp[*tt-'a']++; //这条语句不懂?求高手指点!
}
main()
{
char aa[1000];
int bb[26], k;
printf("\nPlease enter a char string:");
scanf("%s",aa);
fun(aa, bb);
for(k=0; k<26; k++)
printf("%2d", bb[k]);
printf("\n");
}
pp[*tt-'a']++; 这条语句能不能用其他的稍微易懂的语句代替是的效果相同?
展开
 我来答
宋十一粉红
推荐于2018-04-04 · 超过10用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:22.2万
展开全部
举例子说:假如指针tt现在指向第一个字符‘a’,那么*tt就是a。pp[*tt-a]++也就是pp[a-a]++,代表着为‘a’,所在的变量加1.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式