2008년 1월 14일 월요일

char도 부호가 있다

#include <stdlib.h>
#include <stdio.h>

int
main(int argc, char* argv[])
{
    char b = 255;
    int a = b;
    printf("%d\n", a);

    return 0;
}


아무런 옵션을 주지 않고 gcc로 컴파일 하면 결과는 -1이 나온다. 그러나 "-funsigned-char"옵션을 주고 컴파일하면 255가 나온다. 어떤게 표준이려나? 전자일까?

Powered by ScribeFire.