黑马程序员技术交流社区

标题: 问个问题 [打印本页]

作者: dio925_heima    时间: 2015-3-6 10:43
标题: 问个问题
/*以下代码的输出结果为:
i=4
返回值是1
我想问的是,我只是在printf占位符后调用了char_contains(str1, c1)函数,目的是输出它的返回值。为什么除了char_contains(str1, c1)函数的返回值,函数内的其他语句( printf("i=%d\n", i);)也被输出了出来?
*/

//编写一个函数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()
{
    char str1[]="itcast";
    char c1 = 's';
    printf("返回值是%d\n", char_contains(str1, c1));
    return 0;
}

int char_contains(char str[],char c)
{
    //1.便利整个字符处啊
    for(int i = 0; i<strlen(str); i++)
    {
        if(str[i]==c)
        {
            printf("i=%d\n", i);
            return 1;
        }
    }
   
    return 0;
}

/*以上代码的输出结果为:
i=4
返回值是1

我只是在printf占位符后调用了char_contains(str1, c1)函数,为什么除了char_contains(str1, c1)函数的返回值,函数内的其他语句( printf("i=%d\n", i);)也被输出了出来?

*/




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2