为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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

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

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

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

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

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

3 回复 有任何疑惑可以回复我~
#1

Poplar_Y

补充一下,你还需要把 jo 定义到输出语句之前哦。
2019-10-29 回复 有任何疑惑可以回复我~
#2

qq_慕九州1474841 提问者 回复 Poplar_Y

好的,谢谢啦
2019-10-30 回复 有任何疑惑可以回复我~
#3

qq_慕村0435642

解释得很透彻,学习了
2019-11-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信