Chinaunix

标题: 修改默认char类型为unsigned char [打印本页]

作者: jinxinxin163    时间: 2012-01-13 15:32
标题: 修改默认char类型为unsigned char
写了一个程序测试:
#include <stdio.h>
void main()
{
        char c=0xFF;
        printf("%d\n", c);
}
输出:
-1
说明默认情况下,char为signed char
看到/usr/include/limits.h中有一个__CHAR_UNSIGNED__选项:
#  ifdef __CHAR_UNSIGNED__
#   define CHAR_MIN        0
#   define CHAR_MAX        UCHAR_MAX
#  else
#   define CHAR_MIN        SCHAR_MIN
#   define CHAR_MAX        SCHAR_MAX
#  endif
于是修改代码:
#define __CHAR_UNSIGNED__  1
#include <stdio.h>
void main()
{
        char c=0xFF;
        printf("%d\n", c);
}
还是不起效,大家有没有什么办法?
作者: MMMIX    时间: 2012-01-13 16:28
回复 1# jinxinxin163


    为什么会需要这个?
作者: hanzhenlll    时间: 2012-01-13 16:46
ifdef 0 行不行  偶是打酱油的
作者: jinxinxin163    时间: 2012-01-13 17:21
回复 2# MMMIX


    哎,这个世界上,总是有那么多需求、、、
作者: jinxinxin163    时间: 2012-01-13 17:22
回复 2# MMMIX


    其实是在看APUE的时候,第二章里有说到关于系统默认的char,所以想改改看,不知道大伙有没有试过




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2