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