C语言double型变量的初始化到底是是0还是0.0?

如题所述

0和0.0没有区别。

C语言编程时常量写为0时,系统默认其是一个整型常量int,写0.0时系统默认其是双精度浮点型常量double。

在定义局部变量时不赋值的话,则对静态变量来说,编译时自动赋初值0或空字符。而对自动变量来说,如果不赋值,它的值是一个不确定的值。

扩展资料

当用%d去读double类型数据时,得到的为零,因为int型只取低32为付给整型变量,item=1.000000时转化成int型为0

1#include<stdio.h>

2intmain()

3{

4inti,j,n;//item,s;

5doubleitem,s;//当用%d去读double类型数据时,得到的为零,

6//因为int型只取低32为付给整型变量,item=1.000000时转化成int型为0

7scanf("%d",&n);

8s=0;

9for(i=1;i<=n;i++)

10{

11item=0;

12for(j=1;j<=i;j++)

13{

14item=item+1;

1516s=s+item;

17}

18}

19printf("%d\n",s);

2021return0;

22

23}

温馨提示:答案为网友推荐,仅供参考
相似回答