下面的程序加了if语句就不能打印呢

2025-03-22 20:39:12
推荐回答(2个)
回答1:

为什么要加if语句呢
这个程序意图计数输入字符的个数,把if(chParty[iCount]=='a')删去就可以了
有这个语句的话,程序到达这里就会判断 chParty[iCount] 是不是 'a',如果是,iCount++;如果不是,再次开始循环。
假如你输入的字符产不全是'a'或者没有'a’字符,iCount不自增,继续循环,因为iCount没有变化,下次循环到达这里chParty[iCount]还是上次的值,这就陷入了死循环
除非你输入的全是a,就可以输出a的个数

回答2:

我觉得要改下循环语句,个人认为:
#include "stdio.h"
void main()
{
char chParty[30];
int iCount=0;
gets(chParty);
if(chParty[iCount]!='\0')
{
chParty[iCount]='a';
for(i=0;i<=chParty[iCount];i++)
{
iCount++;
}
}
else
break;

printf("\nthe length of the string is %d",iCount);
getch();
}