问题描述
- 把else if改为if之后为什么数字和空格就统计不了了
- #include
int letter digit space others;
int main()
{
void count(char str[]);
char text[80];
printf(""input string:
"");
gets_s(text);
puts(text);
letter = 0; digit = 0; space = 0; others = 0;
count(text);
printf(""
letter:%d
digit:%d
space:%d
other:%d
""letterdigitspaceothers);
}
void count(char str[])
{
int i;
for (i = 0; str[i] != ''; i++)
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}
解决方案
for (i = 0; str[i] != ''; i++)
{
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}
解决方案二:
少了花括号
for (i = 0; str[i] != ''; i++)
{
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}
解决方案三:
jstl,if...else...
你还在用if else吗?
ant的if-else
解决方案四:
其实省略括号并不能对代码规范有任何帮助,
也没有多大的性能提升,
反而不利于你去读懂代码。
解决方案五:
如果你自己单步调试很快就可以发现问题出在哪里
时间: 2025-01-19 20:12:57