c++代码 写一个函数统计一条英文句子中字母的个数 哪里错了求解释 谢谢

2024-11-24 00:37:42
推荐回答(3个)
回答1:

if ( 'a'<*pstr && *pstr<'z' || 'A'<*pstr&& *pstr<'Z' )
*pstr表示字符串,‘a’表示字符,这样比较肯定会错
你应该在函数里定义一个字符数组,用strcpy()把传过来的字符串拷贝到字符数组里,再做比较操作

回答2:

while ( NULL != *pstr) {
if ( 'a'<*pstr && *pstr<'z' || 'A'<*pstr&& *pstr<'Z' )
改为
while ( *pstr!=NULL) {
if (( 'a'<*pstr && *pstr<'z') || ('A'<*pstr&& *pstr<'Z' ) )

回答3:

int Count (string * pstr){
int count =0;
while ('\0' != *pstr) {
if ( 'a'<=*pstr && *pstr<='z' || 'A'<=*pstr&& *pstr<='Z' )
count ++ ;
pstr ++ ;
}
return count ;
}
你把字母a,z,A,Z忽略了,而且终止符应该是'\0',这是字符串的终止符