哪里错了呢?是个死循环
#include<stdio.h>voidmain(){inti,m,t;intp=97;intb[26];charstr[20];for(m=1;m<=26;m++){...
#include <stdio.h>
void main()
{
int i,m,t;
int p=97;
int b[26];
char str[20];
for(m=1;m<=26;m++)
{for(t=0;t<26;t++)
{for(i=0;i<20;i++)
{ if(str[i]-(p+t)=='0')
b[m]++;
}
printf("%d",b[m]);
}
}
} 展开
void main()
{
int i,m,t;
int p=97;
int b[26];
char str[20];
for(m=1;m<=26;m++)
{for(t=0;t<26;t++)
{for(i=0;i<20;i++)
{ if(str[i]-(p+t)=='0')
b[m]++;
}
printf("%d",b[m]);
}
}
} 展开
6个回答
展开全部
1.数组b,str都没有初始化;
2.这个程序可以运行而且不是死循环,有结果只是和要得到的差距甚远而已;
3.for(m=1;m<=26;m++)错误,数组应该是从b[0]到b[25],应该是for(m=0;m<=25;m++) 或for(m=0;m<26;m++);
4.在调试时可以将数组内元素个数弄的小点,便于验证;(建议而已)
如
#include <stdio.h>
main()
{
int i,m,t,p=97,b[4]={3,4,7,9};
char str[4]={'a','b','c','d'};
for(m=0;m<4;m++)
{for(t=0;t<4;t++)
{for(i=0;i<4;i++)
{ if(str[i]-(p+t)=='0')
b[m]++;
}
printf("%d ",b[m]);
}
}
}
2.这个程序可以运行而且不是死循环,有结果只是和要得到的差距甚远而已;
3.for(m=1;m<=26;m++)错误,数组应该是从b[0]到b[25],应该是for(m=0;m<=25;m++) 或for(m=0;m<26;m++);
4.在调试时可以将数组内元素个数弄的小点,便于验证;(建议而已)
如
#include <stdio.h>
main()
{
int i,m,t,p=97,b[4]={3,4,7,9};
char str[4]={'a','b','c','d'};
for(m=0;m<4;m++)
{for(t=0;t<4;t++)
{for(i=0;i<4;i++)
{ if(str[i]-(p+t)=='0')
b[m]++;
}
printf("%d ",b[m]);
}
}
}
展开全部
你这程序错误太多了,最关键的是这些数组你都没有赋值,比如str[i],b[m]你需要给它付一个初值和一个算法,这样它才能够运行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是死循环,是有26*26*20个循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我擦 你写的这都 运行上万遍了 对你来说就是死循环吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组b和str初始化赋值呢? 不知道你写这个程序的出发点在哪,或许你是老手吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是天书吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询