问答详情
源自:5-5 函数的返回值

第二个函数尝试用int,为什么能够得到一样的结果?

#include <stdio.h>

/* Jone算出结果应该怎么写函数? */

 int  joneResult(int x, int y, int z)

{

   int sum = x+y+z;

   return sum/3  ;        //这里是不是应该将sum返回呢?

}

/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */

 int jackResult(int x, int y, int z)

{

    printf("我算不出来\n");

}

int main()

{

    int a, b, c;

    a = 10;

    b = 20;

    c = 30;

    //Jone的返回值类型是什么?

      int    jR = joneResult(a, b, c); 

    printf("Jone运算结果是:%d\n", jR);

    printf("Jack运算结果是:"),jackResult(a,b,c);


    return 0;

}


提问者:二向箔3604879 2016-08-10 20:41

个回答

  • 慕粉15600553655
    2016-08-25 15:26:49

    可能系统自动加了return 0.

  • 我改名字了
    2016-08-15 16:44:39

    #include<stdio.h>

    int sayhello()

    {

       printf("%s\n","hello");

       printf("%c\n",'a');

       printf("%d\n",44);

       printf("%f\n",4.56789);

       printf("%lf\n",1.23456789);

       return 5;

    }

     

    int main()

    {

        int x=sayhello+1();

        printf("\n\t%d",x);

        return 0;

    }

    既然输出的是字符串,为啥函数的数据类型是int,还有return 0啥意思,不加有关系么

    1.   return 0啥意思,不加有关系么?

    return 0是返回值,可以不加,但是系统自动加了。也就是说你加与不加都要存在。

    注意:加上不会有错,但不加可能会有错(老师是这么说的),所以建议按规范加上。

    还有“既然输出的是字符串,为啥函数的数据类型是int,还有return 0啥意思,不加有关系么”

    你这句话最后没有问号,但是我知道应该有,你没有加我也明白是问句。有问号代表是问句,也代表你这句话说完了。

    2: 

    如上:我所写的函数用到了返回值 int x=sayhello+1();  你运行一下看看,main()调用sayhello() 。执行了内容,内容并没有加一。

    总结:自创函数被定义为什么类型的函数与内容没有关系,int定义的是返回值(return)是什么类型          结果。(int )return 0; (char)return 'a';

    希望对你有所帮助句号


  • 我改名字了
    2016-08-15 11:40:41

    char jackResult(int x, int y, int z)

    {

        printf("我算不出来\n");

        return 'a';

    }

    只是定义输出类型,char一样用。


    int型,默认输出return 0;。

    printf("%s", jackResult(a,b,c,));  用到返回值,就输出不了了。

     printf("Jack运算结果是:"),jackResult(a,b,c);你的没用到返回值,当然输出。

  • Tjlf
    2016-08-10 22:00:54

    我感觉一样