A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <string.h>
#include <stdio.h>

int char_contains(char str[],char c);
int main ()
{
    int result = char_contains("itcast",'0');

    printf("%d\n",result);
    return 0 ;

}

int char_contains(char str[],char c)
{
16       for (int i=0; i<strlen(str);i++)
    {
18        if(str[i])==c)
        {
            return 1;
        }
    }
    return 0;

}
前辈们,我的系统是windows7 32位的,装的是codeblocks的,在编译上述编码的时候老是提示16,和18行有问题,唉,照视频上打的,实在看不出哪里有问题。。。。

6 个回复

倒序浏览
应该是第十五行的错吧,char *str[]
回复 使用道具 举报
18 行少了半个括号,字符串参数一般用指针传吧。
回复 使用道具 举报
楼说的对,你的if语句那括号不是成对出现的,少了一个。
回复 使用道具 举报
飞翔的猪 发表于 2015-6-1 10:00
应该是第十五行的错吧,char *str[]

:(  改了  也不行,弄一下午了 悲催的!!!
回复 使用道具 举报
张晓珊 发表于 2015-6-1 10:06
18 行少了半个括号,字符串参数一般用指针传吧。

会不会是编译器的问题呢???已经把那半个括号去了   补行!!!
回复 使用道具 举报
你是想要什么样的结果呢?把括号补上,试了下,没有报错,结果是0啊,
这个程序的意思很用函数查找输入字符串中是否有某个字。你传入字符串itcast,要查找的字符是'0',而这个字符串例没有 ‘0’ 这个字符,所以输出结果是0,当地把‘0’换成‘i’等字符就会显示输出1了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马