读书人

这道题该如何做啊Range error是什么意

发布时间: 2012-02-13 17:20:26 作者: rapoo

这道题该怎么做啊?Range error是什么意思?
【习题6.050】系统给定外部字符串s和整型数组c[26](不需要
自行定义)。编写程序,将字符串s中26个小写字母出现的次数
依次统计到数组c中。例如,当s=“abcijkabcdexyzuvwx”时,
数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 1 1 1 2 1 1。

void main()
{char str[]="s";
int i=0,a,b;
b=strlen("s");
for(i;i<=b;i++)
{
a=str[i]-97;
c[a]+=1;
}
}

我错在哪里啊?总是提示Range error.

[解决办法]
void main()
{char str[]="s";
int i=0,a,b;
b=strlen("s");
for(i;i<b;i++)
{
a=str[i]-97;
c[a]+=1;
}
}
[解决办法]

探讨

char c[26] = {0};

int main()
{
char str[]="abcdefg";
int i=0, b;
b = strlen(str);
while(b)
c[str[--b]-'a'] += 1;

for (i = 0; i < 26; ++i)
printf("%c\t%d\n", 'a' + i, c[i]);

system("p……

读书人网 >C语言

热点推荐