为什么主函数中关于jone的函数没有%s就能直接输出,而加了%s后反而报错?

来源:5-5 函数的返回值

qq_慕九州1474841

2019-10-29 16:55

#include <stdio.h>
/* Jone算出结果应该怎么写函数? */
int joneResult(int x, int y, int z)
{
   int sum = x+y+z;
    return sum/3;//这里是不是应该将sum返回呢?
}
/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */
void 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运算结果是:%s,"jo);
    //Jack没有算出结果只说了句话,是不是直接调用函数就可以
    int jo=jackResult(a,b,c);
    return 0;
}

这是我的代码,和答案的差别就在主函数中关于jone的运算结果那儿。

写回答 关注

1回答

  • Poplar_Y
    2019-10-29 20:04:41
    已采纳

    你这是啥谜之操作呀,我的天。

    首先,你定义下的 void jackResult 是没有返回值的,它在你的整个程序中只能起到一个输出某语句的作用。

    那么你的 int jo=jackResult(a,b,c) 是出了什么问题你应该就懂了吧。

    你定义下的 jo 是int型的,也就是整型变量,而你的jackResult连值都没有,怎么给jo赋值。

    最后,你的输出语句中,%s代表字符串,而你给定它的量为 jo(也就是整数,你定义的),那你加上%s怎么可能运行成功。

    我只能说,你需要重新加强一下对数据类型以及函数类型的温习,你好像把它们整混了。

    qq_慕村0...

    解释得很透彻,学习了

    2019-11-25 10:55:24

    共 3 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题