int foo(char *str)
{
char *p = str;
while (p && *p!='\0' &&
((*p >= 'a' && *p <= 'z')
|| (*p >= 'A' && *p <= 'Z') || *p == '@')) {
p++;
}
return p-str;
}
上述复杂while
语句的时间和空间复杂度是多少。它是否取决于 while encloser 中的语句
while (p && *p!='\0' && ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || *p == '@'))
或仅在while
身体上
while(){
//body statements
p++;
}
如上。它还取决于&&
或的短路||
。