c++程序解释

[复制链接]
查看11 | 回复5 | 2009-6-22 14:55:47 | 显示全部楼层 |阅读模式
这个函数的作用是统计字符串tt里各个小写字母出现的次数,并存放在数组pp中。pp[0]是字符a出现的次数pp[1]是字符b出现的次数以此类推具体解释*tt的意思是tt指向的内容注意tt是 char *类型, 即指向字符类型的指针*是取内容符, *tt的意思就是tt所指向的字符啦tt++的意思就是将tt指针后移,使其指向字符串的下一个字符字符串是以'\0'结束的,当tt指向的字符内容不是'\0'时,*tt的内容就是非0对于一个条件表达式,如果它的值非0,则为真因此 那个for函数的意思就是从tt指向的字符开始直到字符串的结尾 对每个字符 pp[*tt-97]增加1至于为什么是*tt-97 ,因为 字符a 的ASCII码是 97 ,所以 *tt-97的意思就是 将a~z 这26个字符映射到 0~25这26个数字上
回复

使用道具 举报

千问 | 2009-6-22 14:55:47 | 显示全部楼层
void fun(char *tt,int pp[]){ int i;for(i=0;i<26;i++)pp=0;
//将pp【】数组赋初值0for(;*tt;tt++)
//什么意思,特别是*tt,这里是当*tt为'\0'时,循环结束,因为'\0'ASCII值也为NULL,pp[*tt-97]++;//将给pp【】赋值,(*tt-97),这里97为'a'的ASCII值,} 这样应该清楚了吧
回复

使用道具 举报

千问 | 2009-6-22 14:55:47 | 显示全部楼层
*tt 是指 “*tt!=0 ” 记没有读到字符串结束,因为字符串结束字符是转义字符'\0' 对应为0.这个应该是一个统计小写字母在字符串中出现次数的函数.先把数组元素值都赋值为零,每出现一次,加一.这样就可以统计出来一共出现的多少次.97是'a'.pp的值,就是字符(‘a’+i)出现的次数希望楼主给悬赏分,谢谢啦.
回复

使用道具 举报

千问 | 2009-6-22 14:55:47 | 显示全部楼层
void fun(char *tt,int pp[]){ int i;for(i=0;i<26;i++)pp=0;//给pp[]的前26位初始置零,表示26个字符的个数初始为0for(;*tt;tt++)
//for循环 *tt!=0的时候就执行下面的程序执行完再地址加一再判定pp[*tt-97]++; //计算tt指针所指的字符数,统计每个字符出现的次数}*tt也就是 (*tt)!='\0'.这个for循环意思是:tt指针每次自+1,当tt所指内容为'\0'时,退出循环。
回复

使用道具 举报

千问 | 2009-6-22 14:55:47 | 显示全部楼层
tt为字符指针,*tt表示tt所指向的字符,即字符的asc11码不为0,则继续循环,字符串结尾是\0,即是asc11码的0.程序的实际意义是统计字符串中各个字母出现的次数。
回复

使用道具 举报

千问 | 2009-6-22 14:55:47 | 显示全部楼层
SB之意!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行