关于医院的恐怖电影:C语言问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 18:34:09
#include <stdio.h>
#define max 100
int fun(char str[],char a[],int c[])
{
int i,j,k=0,len=0;
for(;str[0];c[0]=1)k++;
a[0]=str[0];c[0]=1;k++;
for (i=1;i<len;i++)
for(i=1;i<len;i++)c[i]=0;
for(i=1;i<len;i++)
{
j=0;
while(j<k&& a[j]!=str[i])j++;
if(j==k)
{a[k]=str[i];c[k]++;k++;}
else
c[j]++;
}
return k;
}
void main()
{
char str[max],a[max];
int c[max],k,i;
printf("请输入字符串:");
gets(str);
k=fun(str ,a,c);
printf("统计结果如下:\n");
printf(" 字符 ");
for(i=0;i<k;i++)
printf("%3c",a[i]);
printf("\n");
printf(" 频度 ");
for (i=0;i<k;i++)
printf("%3d",c[i]);
printf("\n");
}
程序错在哪里?

for(;str[0];c[0]=1)k++;
这个循环是死循环吧
for (i=1;i<len;i++) I没有初始化呀 len初始为零?
问题挺多的,不过编译器没有会有警告吧.
上面函数的循环都不成立.

你的循环控制变量冲突了啊,还有 for(;str[0];c[0]=1)k++;
是什么意思