zoukankan      html  css  js  c++  java
  • C语言中double型变量,%d输出为0 的原因

    对于初学者C语言常见的错误:
    1.中英文切换问题,所有代码应该在英文环境下输入,有时不小心在中文下输入,编译时出现一堆错误。
    (个人感觉辨别中英文是否出错最直观的就是,中文字符比较精致,英文支付看上去有点粗线条,
    否则就变异查找错误: error C2065: “;”: 未声明的标识符(VS下))。



    2.常见的还有拼写错误特别是:main()这个词。
    3.scanf(“%d”,&a);忘记加&;可能会提示文件无法写入的错误。
    4.{}的乱用,不知道怎么加、必须成对出现。
    代码:当用%d去读double类型数据时,得到的为零,因为int型只取低32为付给整型变量,item=1.000000时转化成int型为0

    1
    #include<stdio.h> 2 int main() 3 { 4 int i,j,n;//item,s; 5 double item,s;//当用%d去读double类型数据时,得到的为零, 6 //因为int型只取低32为付给整型变量,item=1.000000时转化成int型为0 7 scanf("%d",&n); 8 s=0; 9 for(i=1;i<=n;i++) 10 { 11 item=0; 12 for(j=1;j<=i;j++) 13 { 14 item= item+1; 15 16 s=s+item; 17 } 18 } 19 printf("%d ",s); 20 21 return 0; 22 23 }

    double下第19行输出为0;

    int下第19行输出为正确数。

  • 相关阅读:
    Train Problem(栈的应用)
    Code obfuscatio (翻译!)
    Milking Cows
    Sorting a Three-Valued Sequence(三值排序)
    Asphalting Roads(翻译!)
    FatMouse' Trade
    Fibonacci Again
    Yogurt factory
    经济节约
    Lucky Conversion(找规律)
  • 原文地址:https://www.cnblogs.com/linmengran/p/6010869.html
Copyright © 2011-2022 走看看