代码:程序清单4.12_floatcnv.c程序_《C Primer Plus》P75

// floatcnv.cpp : 定义控制台应用程序的入口点。
//
/* flaotcnv.c -- 不匹配的浮点数转换 */

/*
    时间:2018年06月19日 00:06:49
    代码:程序清单4.12_floatcnv.c程序_《C Primer Plus》P75
    目的:了解_不匹配的浮点数转换_将输出千奇百怪的结果
*/

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    float n1 = 3.0;
    double n2 = 3.0;
    long n3 = 2000000000;
    long n4 = 1234567890;

printf("%.1e %.1e %.1e %.1e\n", n1, n2, n3, n4);
    printf("%ld %d\n", n3, n4);
    printf("%ld %ld %ld %ld\n", n1, n2, n3, n4);
    getchar();

return 0;
}

/*
    在VS2010中运行结果:
-----------------------------------
3.0e+000 3.0e+000 3.1e+046 1.1e-307
2000000000 1234567890
0 1074266112 0 1074266112
------------------------------------------
    总结:
        混淆了整数和浮点类型时,结果是千奇百怪
------------------------------------------
*

原文地址:http://blog.51cto.com/13555061/2130379

时间: 2024-08-30 11:17:27

代码:程序清单4.12_floatcnv.c程序_《C Primer Plus》P75的相关文章

代码:程序清单4.13_prntval.c程序_《C Primer Plus》P76

// prntval.cpp : 定义控制台应用程序的入口点. // /* prntval.c -- 发现 printf() 函数的返回值 */ /*     时间:2018年06月19日 00:28:59     代码:程序清单4.13_prntval.c程序_<C Primer Plus>P76     目的:%d printf() 输出字符串的数量 */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[])

代码:程序清单4.15_input.c程序_《C Primer Plus》P78

// input.cpp : 定义控制台应用程序的入口点. // /* input.c -- 什么情况下使用 & */ /*     时间:2018年06月19日 23:18:10     代码:程序清单4.15_input.c程序_<C Primer Plus>P78     目的:对char数组时,scanf() 的输出参数无须加前缀 & */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]

代码:程序清单4.16_varwid.c程序_《C Primer Plus》P81

// varsid.cpp : 定义控制台应用程序的入口点. // /* varwid.c -- 使用可变宽度输出字段 */ /*     时间:2018年06月21日 00:10:08     代码:程序清单4.16_varwid.c程序_<C Primer Plus>P81     目的:使用 scanf() 输入数字来改变输出字段的宽度 */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) {     

程序清单2.1_first.c程序_《C Primer Plus》P15

// first.cpp : 定义控制台应用程序的入口点. // /* 时间:2018年05月29日 22:49:40 代码:程序清单2.1_first.c程序_<C Primer Plus>P15 目的:进一步了解 printf()函数,定义变量与赋值 及 (\n)含义 */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) /* 一个简单的 C 程序 */ { int num; /* 定义一个名为 num

程序清单2.4_nogood.c_程序_《C Primer Plus》P26

// nogood.cpp : 定义控制台应用程序的入口点. // /*     时间:2018年05月31日 21:02:59     代码:程序清单2.4_nogood.c_程序_<C Primer Plus>P26     目的:认识代码的基本错误_花括号/声明/注释/分号 */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) (     int n, int n2, int n3;     /* 该程

程序清单2.5_stillbad.c_程序_《C Primer Plus》P27

// stillbad.cpp : 定义控制台应用程序的入口点. // /* stillbad.c -- 修正了语法错误的程序 */ /*     时间:2018年05月31日 21:51:51     代码:程序清单2.5_stillbad.c_程序_<C Primer Plus>P27     目的:了解语义的错误(程序运行结果并非作者的意图时,请动笔画图示意) */ #include "stdafx.h" int _tmain(int argc, _TCHAR* ar

程序清单3.2_print1.c_程序_《C Primer Plus》P37

// print1.cpp : 定义控制台应用程序的入口点. // /* print1.c -- 说明 printf()的一些属性 */ /*     时间:2018年06月03日 21:55:00     代码:程序清单3.2_print1.c_程序_<C Primer Plus>P37     目的:使用printf()函数时,格式说明符的数目和要显示的值的数目一定要相同. */ #include "stdafx.h" int _tmain(int argc, _TCH

程序清单3.3_bases.c程序_《C Primer Plus》P37

/* bases.c -- 以十进制.八进制.十六进制形式输出 100 */ // bases.cpp : 定义控制台应用程序的入口点. // /*     时间:2018年06月03日 23:23:06     代码:程序清单3.3_bases.c程序_<C Primer Plus>P37     目的:%d 显示十进制数字; %#0 显示八进制数字; %#X 显示十六进制数字; */ #include "stdafx.h" int _tmain(int argc, _T

程序清单3.4_print2.c程序_《C Primer Plus》P41

// print2.cpp : 定义控制台应用程序的入口点. // /* print2.c -- printf()的更多属性 */ /*     时间:2018年06月04日 23:49:04     代码:程序清单3.4_print2.c程序_<C Primer Plus>P41     目的:不同的数据类型要匹配不同的输出控制符(即书中说的:说明符) */ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[])