问答详情
源自:5-1 自创函数

c语言自创函数方面问题

int sayhello()

{

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

   return 0;

}

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

提问者:凸T_T凸 2016-07-24 18:45

个回答

  • 慕移动3890658
    2016-09-29 20:41:47

    int+函数名的返回值是int类型的,也就是return的值

  • 我改名字了
    2016-08-14 18:07:11

    #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';

    希望对你有所帮助句号

  • 丨丶Curtain
    2016-07-24 20:25:33

    会, 首先赋值是用 = 的,即x = a(); 

    你当然也可以return 5,这样x就会接收到5.

    情况允许的话,自己调试一下就知道了。

    int fun()

    {

        return 5;

    }

    int main()

    {

        int c = fun();

        printf("%d\n",c);// 输出5

        return 0;

    }


  • 丨丶Curtain
    2016-07-24 19:27:21

    ”%s“这个  表示输出的字符串类型,就像%d输出的是int类型的一样

    int+函数名是表示返回值是int类型的,即return的值,也可以double+函数名,这样返回一个double类型的值。

    加return 是表示 函数正常结束, 当void 声明一个函数的时候可以不用return,因为void表示的是 :无返回类型的函数声明