嗨,我正在尝试用C语言构建一个函数,该函数检查字符串是否包含数字,大写字母,小写字母和空格,如果字符串包含任何其他字符,则该函数返回-1。
float avg_word_len(char* str)
{
float check;
for (int i = 0; i < strlen(str); i++)
{
if (((str[i] >= '0') && (str[i] <= '9')&&(str[i] >= 'a') && (str[i] <= 'z') && (str[i] == ' ')&& (str[i] >= 'A') && (str[i] <= 'Z')))
check = 1;
else
check = -1;
}
str = '\0';
return check;
那是我的代码,但是函数保持返回-1请帮助
您的某些字符&&
必须替换为||
一个字符是数字或小写字母或空格或大写字母,但一次不能同时满足所有这些条件:
check = 1;
for (int i = 0; i < strlen(str); i++)
{
if (! (((str[i] >= '0') && (str[i] <= '9')) ||
((str[i] >= 'a') && (str[i] <= 'z')) ||
(str[i] == ' ') ||
((str[i] >= 'A') && (str[i] <= 'Z')))) {
check = -1;
break;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句