本帖最后由 远人 于 2014-4-4 13:15 编辑  
 
老师练习题:编写一个函数char_contains(char str[],char c),如果字符串str中包含字符c则返回值1,否则返回数值0。 
这是第四种方法,也是最难的一种,如下程序 
 
- #include <stdio.h>
 
 - #include <string.h>
 
  
- int char_contains(char str[],char c);
 
  
- int main(int argc, const char * argv[])
 
 - {
 
  
-     char name[] = "itcase";
 
 -     int result = char_contains( name , 'c');
 
 -     
 
 -     printf("%d\n",result);
 
 -     return 0;
 
 - }
 
 - //方法四
 
  
- int char_contains(char str[],char c)
 
 - {
 
 -     int i = -1;
 
 -     
 
 -     while (str[++i] != c && str[i] != '\0')
 
 -     {
 
 -         return str[i] != '\0';
 
 -     }
 
 -     return 0;
 
 - }
 
 
  复制代码 
 
我想问,这里的    
 { 
        return str != '\0'; 
 } 
如何理解,怎么不是返回{  return 1;  }? 
 |