注册 登录
编程论坛 C语言论坛

程序没问题,为什么输出结果有问题

计算机好难啊 发布于 2020-04-03 10:53, 4008 次点击
#include "stdio.h"
float volume(float a,float b,float c)
{ float v;
  v=a*b*c;
  return(v);
}
void main()
{ float a,b,c,v;
  scanf("%f,%f,%f",&a,&b,&c);
  v=volume(a,b,c);
  printf("v=%f",v);
}
当输入 3 4 5的时候,结果是v=3977578716729246700.000000   而不是60,求大神帮忙


13 回复
#2
lin51616782020-04-03 11:11
输入注意要用逗号隔开
#3
tcxk2020-04-03 14:10
return (v);
这一步为什么要加上括号,没有意义呀。。
#4
自学的数学2020-04-04 09:55
return (Val);//此括号可以省略。但一般不省略,尤其在返回一个表达式的值时。
#5
lin51616782020-04-04 10:01
回复 4楼 自学的数学
除了 return ;
其他所有 return 语句都是返回表达式的值
#6
自学的数学2020-04-04 14:21
程序没问题,问题在于你输入三个数的时候没有选择中文简体输入方式。所以不对啦。
#7
专业课的小白2020-04-05 17:09
回复 楼主 计算机好难啊
程序可以运行,问题是出在:
当运行出现黑框是,你不要输入 3 4 5;你试一下3,4,5
逗号很关键,因为你在scanf里定义的是(“%f,%f,%f”),所以对应的就是3,4,5;
如果你的scanf是(“%f %f %f”),那么你输入3 4 5 就是对的了。
#8
计算机好难啊2020-04-12 16:39
好的谢谢,请问
scanf("%f,%f,%f",&a,&b,&c);
我把这里的逗号去掉,变成这样
scanf("%f%f%f",&a,&b,&c);
为什么输入345然后按回车没有输出结果,而是换行了
请问大佬为什么
#9
叶纤2020-04-12 16:56
输入3 4 5 试一试
#10
叶纤2020-04-12 16:57
或者输入
3  回车
4 回车
5 回车
然后
砰的一下有结果了
#11
forever742020-04-12 18:58
结果楼主说,没有砰啊?
#12
叶纤2020-04-12 22:03
最优美的配音是敲击键盘的 砰砰声,让楼主自己体会其中的优美吧
#13
静夜思2020-04-12 22:46
以下是引用叶纤在2020-4-12 22:03:12的发言:

最优美的配音是敲击键盘的 砰砰声,让楼主自己体会其中的优美吧


警告一次:不要在技术区灌水,更不要在技术区搬弄是非带节奏。

在本论坛玩宫斗无法获得存在感,只有认真讨论技术方能获得尊崇。

如果想玩宫斗请左转后宫甄嬛传贴吧 http://tieba.baidu.com/f?fr=wwwt&kw=%E5%90%8E%E5%AE%AB%E7%94%84%E5%AC%9B%E4%BC%A0
#14
叶纤2020-04-12 22:57
回复 13楼 静夜思
好的,收到,不过我在回答楼主的问题,不是宫斗呀> <
scanf("%f%f%f",&a,&b,&c);
为什么输入345然后按回车没有输出结果,而是换行了
请问大佬为什么

这个问题如果是您的话,应该怎么形象的表达呢?
回答不应该是
3回车
4回车
5回车
然后砰的一下有结果啦吗?
1