职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1046|回复: 5

C语言程序的问题!赶作业中!!!比如厕急啊

[复制链接]
开平车迷网 发表于 2009-9-1 09:27 | 显示全部楼层 |阅读模式
#include \"stdio.h\"
#define Pi 3.1415926
main()
{
int r;
float l,s;
scanf(\"%d\",&r);
l=2*Pi*r;
s=Pi*r*r;
printf(\"l=%f\\ns=%f\\n\",l,s);
}
我想问下这个程序我第一次把scanf(\"%d\",&r);放在s=Pi*r*r;后面
虽然编译都对 可是最后输入数字后结果不对
为什么要把scanf(\"%d\",&r);放在float l,s;后面才会是正确的???
兄弟姐妹们都帮帮哈
诚等
木天子 发表于 2009-9-1 09:27 | 显示全部楼层

C语言程序的问题!赶作业中!!!比如厕急啊

程序时按行执行的
你r没初始化
把scanf("%d",&r)放s=Pi*r*r;后面
程序执行到 l=2*Pi*r;
s=Pi*r*r;时r的值不确定
出来的结果当然不对
周星星 发表于 2009-9-1 09:27 | 显示全部楼层

C语言程序的问题!赶作业中!!!比如厕急啊

c语言的规格就是先声明在使用
只有把你要用的数据全声明之后
才能用的
不然就会出错
具体为什么我也不是很清楚
嘿嘿……
车头灯 发表于 2009-9-1 09:28 | 显示全部楼层

C语言程序的问题!赶作业中!!!比如厕急啊

如果你把scanf("%d",&r)放在s = Pi*r*r后面就是&r是默认值
并没有值
int值估计就是0
但是放在float l,s后面的话在就在使用r的之前已经在控制台接收了
所以里面有值
所以结果是一样的
这样说不知道你能不能明白
神奇女侠 发表于 2009-9-1 09:28 | 显示全部楼层

C语言程序的问题!赶作业中!!!比如厕急啊

如果先乘
不知道使用什么数去做啊
要告诉机器具体的数啊~
原始宝宝 发表于 2009-9-1 09:28 | 显示全部楼层

C语言程序的问题!赶作业中!!!比如厕急啊

在定义l,s之后要先赋值给它 才可以使用 不然就是电脑存储里的垃圾数
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-16 23:58 , Processed in 0.163657 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表