一个新手的C语言问题

J神 2011-10-07 07:49:48
我大一刚开始自学C 遇到一个问题 在算梯形面积时发现一个问题 求大神解答

代码如下

#include<stdio.h>
main()
{
double ul,bl,h,s;
printf("上底 下底 高\n");
scanf("%lf,%lf,%lf",&ul,&bl,&h);
s=(ul+bl)*h/2;
printf("s=%lf\n",s);
return 0;
}

为什么会出现这个东西



然后我用



这是什么情况
...全文
215 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
一朵时光_bobo 2011-11-22
  • 打赏
  • 举报
回复
输入问题 .
kakaxisese 2011-10-13
  • 打赏
  • 举报
回复
看不见图啊。是不是输入的格式不对啊, 再看看啊
hzc543806053 2011-10-10
  • 打赏
  • 举报
回复
要添加一个返回值 double main()
#include<stdio.h>
double main()
{
double ul,bl,h,s;
printf("上底 下底 高\n");
scanf("%0.2lf,%0.2lf,%0.2lf",&ul,&bl,&h); //比如输入2.0 3.0 4.0
s=(ul+bl)*h/2;
printf("s=%0.2lf\n",s);
return 0;
}
赵4老师 2011-10-10
  • 打赏
  • 举报
回复
要知道只要电脑加电,RAM内存的每个字节中就会有值。
icelights 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cyj5030 的回复:]

我知道我的格式错了 不过我问的是 空格为什么有出现那些数字
[/Quote]
格式输错了,ul,bl,h等都是未初始化的值,这些值谁知道是多少呢……
赵4老师 2011-10-08
  • 打赏
  • 举报
回复
请判断scanf的返回值。
J神 2011-10-08
  • 打赏
  • 举报
回复
我知道我的格式错了 不过我问的是 空格为什么有出现那些数字
小耸 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 helloworld336699 的回复:]

scanf("%lf,%lf,%lf",&ul,&bl,&h);

scanf("%lf%lf%lf",$ul,&bl,&h);的输入方法是不一样的,应该严格按照引号里面的输入格式输入!
[/Quote]

正解
HelloWorld336699 2011-10-07
  • 打赏
  • 举报
回复
scanf("%lf,%lf,%lf",&ul,&bl,&h);

scanf("%lf%lf%lf",$ul,&bl,&h);的输入方法是不一样的,应该严格按照引号里面的输入格式输入!
w346581442 2011-10-07
  • 打赏
  • 举报
回复
按照你的程序,每次输入后都要打个逗号
AnYidan 2011-10-07
  • 打赏
  • 举报
回复
scanf("%lf,%lf,%lf",&ul,&bl,&h); 改为

scanf("%lf %lf %lf",&ul,&bl,&h);

white space 代表输入域结束
J神 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jake443403168 的回复:]
引用 6 楼 cyj5030 的回复:

错误的是2 3 4 然后输出s=4283642677760810000000000000000000000000000000000000000000000000.000000


你的scanf()格式控制了,应该格式化输入数 2,3,4
[/Quote]
但是用空格也有输出啊 为什么会出现那些数
Jake443403168 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cyj5030 的回复:]

错误的是2 3 4 然后输出s=4283642677760810000000000000000000000000000000000000000000000000.000000
[/Quote]

你的scanf()格式控制了,应该格式化输入数 2,3,4
J神 2011-10-07
  • 打赏
  • 举报
回复
错误的是2 3 4 然后输出s=4283642677760810000000000000000000000000000000000000000000000000.000000
J神 2011-10-07
  • 打赏
  • 举报
回复
main前面加int 和不加有什么区别 还有 我知道输出时要用, 但为什么空格会出现这东西
cqltwslt 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bjtbjt 的回复:]

main()

前面加上int 改成 int main()

scanf("%lf,%lf,%lf",&ul,&bl,&h);

输入数据时 a,b,c 注意逗号
[/Quote]

看书仔细,自己注意!
Jake443403168 2011-10-07
  • 打赏
  • 举报
回复
输入的时候注意是用 英文,分割输入的数字
5t4rk 2011-10-07
  • 打赏
  • 举报
回复
main()

前面加上int 改成 int main()

scanf("%lf,%lf,%lf",&ul,&bl,&h);

输入数据时 a,b,c 注意逗号
zhOu 2011-10-07
  • 打赏
  • 举报
回复
你用别的图片上传吧 这个百度空间防止盗链 看不到你的图

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧