如果这个函数的作用是判断str数组中是否含有c字符的话,应该是有问题的。两个++i有问题。我觉得应该是这样:
- nt char_contains(char str[],char c)
- {
- int i = -1;
- while(str[++i] != c && str[i] != '\0');
- return str[i] == c ? 0 : 1; //也可以是:return str[i] != '\0'
- }i
复制代码
而楼主的问题,return str != '\0';如果str等于'\0'的话,意味着遍历到最后一位字符也没有找到字符c,所以是等效的。 |