程序清单4.11_intconv.c程序_《C Primer Plus》P74

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序清单4.11_intconv.c程序_《C Primer Plus》P74相关的知识,希望对你有一定的参考价值。

// intconv.cpp : 定义控制台应用程序的入口点。
//
/* intconv.c -- 一些不匹配的整数转换 */

/*
    时间:2018年06月18日 00:27:35
    代码:程序清单4.11_intconv.c程序_《C Primer Plus》P74
    目的:整数转换不匹配的原因,唯有彻底弄清楚补码才明了
*/

#include "stdafx.h"
#define    PAGES 336
#define WORDS 65618


int _tmain(int argc, _TCHAR* argv[])
{
    short num = PAGES;
    short mnum = -PAGES;

    printf("num as short and unsigned short: %hd %hu
", num, num);
    printf("-num as short and unsigned short: %hd %hu
", mnum, mnum);
    printf("num as int and char: %d %c
", num, num);
    printf("WORDS as int, short, and char: %d %hd %c
",
            WORDS, WORDS, WORDS);
    getchar();
    
    return 0;
}

/*
    在VS2010中运行结果:
----------------------------------------------
num as short and unsigned short: 336 336
-num as short and unsigned short: -336 65200
num as int and char: 336 P
WORDS as int, short, and char: 65618 82 R
----------------------------------------------
    翻译如下:

数字为 short 和无符号 short:336 336
负数字为 short 和无符号 short:-336 65200
数字为 int和char:336 P
词作为int,short和char:65618 82 R
----------------------------------------------
    总结:
        1>.不要期望 %u 转换能把数字和符号分开;
        2>.要细心匹配各种不同类型的数值;
        3>.唯有在实践中慢慢体会与积累经验;
----------------------------------------------

*


以上是关于程序清单4.11_intconv.c程序_《C Primer Plus》P74的主要内容,如果未能解决你的问题,请参考以下文章

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

程序清单5.3_golf.c程序_《C Primer Plus》P90

程序清单4.3_praise2.c程序_《C Primer Plus》P63

程序清单5.2_shoes2.c程序_《C Primer Plus》P88

程序清单2.2_fathm_ft.c_《C Primer Plus》P24

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