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

这么写怎么就不对了

printf("jack 运算结果是:%s",jackrResult(a,b,c));

正在回答

2 回答

你在printf的第一个参数中用了%s,代表后面的参数应该是字符串。 可是我想,jackResult(a, b, c)返回的并不是字符串。 所以打印不出你想要的结果。

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

慕粉5652354 提问者

jackResult是一个定义的函数 void jackResult(int x,int y,int z) { printf("我算不出来\n"); } 这种不是字符串吗?是不是这个函数没有返回值,而在调用时调用的是这个函数的返回值,但是这个函数又没有返回值所以就不会打印出来。
2015-10-25 回复 有任何疑惑可以回复我~
#2

onemoo 回复 慕粉5652354 提问者

理解得没错
2015-10-26 回复 有任何疑惑可以回复我~
#3

慕粉5652354 提问者 回复 onemoo

谢谢喽
2015-10-26 回复 有任何疑惑可以回复我~

jackResult是一个定义的函数

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

{

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

}

这种不是字符串吗?是不是这个函数没有返回值,而在调用时调用的是这个函数的返回值,但是这个函数又没有返回值所以就不会打印出来。


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

onemoo

jackResult函数确实是能打印出字符串,那是因为函数中调用了printf,这是jackResult函数本身的行为。 你题目中那样调用printf("jack 运算结果是:%s",jackrResult(a,b,c)); 想要打印的是jackResult的返回值。而jackResult的返回类型为void,也就是没有返回值。所以不会打印出你希望的内容。 这个习题,你把jackResult函数调用写在这printf语句下面就可以了。
2015-10-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

这么写怎么就不对了

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