C语言里的DOUBLE函数怎么解释,怎么设置变量?

我在学习C的第一节,遇到的例题里面有DOUBLE
具体是
#include "stdio.h"
#include "math.h"
main()
{double a,b,c,s,area;<br/> …………<br/>这里面的DOUBLE 具体是什么意思 <br/>怎么用<br/>我是初初学者,不清楚,请高手解答下<br/>谢谢,<br/>还有在谭浩强的那本C语言里,有个例题是<br/>#include "stdio.h"<br/>main()<br/>{int a,b,sum;<br/> a=123;<br/> b=456;<br/> sum=a+b;<br/> printf("sum is %d\n");<br/>}
这里面把A B都规定死了
我如果想把它弄成一个能随意填

double是双精度类型变量,就是精确度更高,可以存储的小数位数更多
如果想让a,b随意填,可改成如下程序:
#include "stdio.h"
void main()
{int a,b,sum;<br/>cin>>a>>b;<br/>sum=a+b;<br/>printf("sum is %d\n");<br/>}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-16
1.
double a,b,c,s,area;
double是双精度变量
第2个回答  2013-08-16
2。
printf( "input A B:\n" );
scanf( "%d%d",&a,&b );
第3个回答  推荐于2017-09-20
地址是表示存储器中存储单元位置的非负整数。所有可用的地址的集合称为地址空间。现代的编译器中,对象指针的值是同一地址空间的元素。在32位编译器中,这个值的上限是2^32-1。对象是运行期内存中的数据存储区域,这片区域是连续的。指针指向对象,则它的值等于对象的首个字节的地址。对象的大小可以在编译期根据类型确定,因此在确定的时刻,指针(包含被指对象的类型)可以唯一地确定对象的存储。
指针:一类类型的统称。指针类型的实例是表达式,可能是一个对象。有时候把指针对象简称为指针,注意不要混淆。左值和右值:表达式中的左值具有对象语义,而右值没有。通俗点说左值可以出现在赋值操作符=的左边,而右值不可以(C语言中右值可以简单地理解成值)。&操作符作用于一个左值,获得一个右值指针。
对象地址作为按字节编址的内存单元的编号,最小单位是1(对应于一个字节),且必定是地址空间内的元素。指针的值用来表示地址。所以,指针不能指向小于一个字节的存储区域(位段),使用&操作符试图获得指向它的指针是非法的。
char a[3],*p;声明了两个对象:类型为char[3]的a、类型为char*的p。p=a;使p的值等于a——由于p和a的类型不同,所以显然发生了静态类型转换才能保证表达式的合法性。表达式a在这里并不作为左值而是隐式地转换成一个char*类型的指针(不是对象,而是临时对象,或者精确地说,一个不在运行期占据存储空间的右值),等于&a[0]的值,即a[0]的地址。注意数组元素的地址是编译期就能确定的常量,所以并不需被分配空间,不用存储在对象中。数组a的地址&a(由于数组的存储方式,这个值等于&a[0]的值)作为常量直接被编译到目标代码中,而不是在运行期再计算出来。这里需要计算的是&a[i],因为i的值是不能在编译期唯一被确定的。
&a[i]相当于a+i,a在这里同样隐式转换为指针右值。根据指针的加法规则,a+i等于(char*)((int)a+sizeof(char)*((int)i))(这里用显式类型转换指出表达式的类型,下同)。同时,p是和a对应类型的指针,它每次被++后,效果相当于p=(char*)((int)p+sizeof(char)*1)。由于i每次增加1,因此可见增加的部分的数值是同步的;而p=a导致它们的初值是相等的。因此循环体中每次输出的值相等。
相似回答