【发布时间】:2018-01-25 04:26:43
【问题描述】:
这是我的程序。我正在尝试查找字符串中每个字符的频率并显示它。回答时请注意我不想尝试 ASCII 概念,我想知道这个概念有什么问题。
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
int l=0,j,k,m,count[10000];
char string[10000];
printf("Enter the string : \n");
scanf("%s",string);
l=strlen(string);
printf("%d",l);
for(j=0;j<l;j++)
{
for(k=j+1;k<l;k++)
{
if(string[j]==string[k])
{
count[j]++;
}
}
}
for(m=0;m<l;m++)
{
printf("%d",count[m]);
}
return 0;
}
【问题讨论】:
-
预期行为是什么,实际行为是什么?将其添加到问题中。
-
ASCII 概念是什么意思?
-
问题是
count[10000];需要9872更多的整数(和39488字节的堆栈空间),而不是使用“ASCII 方法”计算每个 ASCII 字符。 -
问题仍然缺少minimal reproducible example。