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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dio925_heima 中级黑马   /  2015-3-6 10:43  /  530 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*以下代码的输出结果为:
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);)也被输出了出来?

*/

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马