C语言小程序求助

[复制链接]
查看11 | 回复2 | 2010-6-11 11:23:27 | 显示全部楼层 |阅读模式
功能:求一个给定字符串中的字母的个数。
#include
void main()
{
int fun(char s[]);
char str[]="Best wishes for you!";
int k;
k=fun(str);
printf("k=%d\n",k);
}
int fun(char s[])
{
int i,a;
for(i=0;i='a'&&s='A'&&s#includevoid main(){int fun(char s[]);char str[]="Best wishes for you!";int k;k=fun(str);printf("k=%d\n",
回复

使用道具 举报

千问 | 2010-6-11 11:23:27 | 显示全部楼层
你找到最后时,没有终止循环,所以循环继续,而说不定在之后的某个内存中存的还是‘\0’,所以a的值是不对的。还有当判断到‘\0’是i正好是长度,所以也不用加,不用减所以改为if(s=='\0'){ a=i; break;} 不懂再问我,我在线~!
回复

使用道具 举报

千问 | 2010-6-11 11:23:27 | 显示全部楼层
if(s=='\0') a=i+1; 是加加加~不是减`~
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行