Dlaczego standardy C lub C ++ nie definiują jawnie znaków char jako podpisanych lub niepodpisanych?

int main()
{
    char c = 0xff;
    bool b = 0xff == c;
    // Under most C/C++ compilers' default options, b is FALSE!!!
}

Ani standard C ani C ++ nie określa znaku jako podpisanego lub niepodpisanego, jest zdefiniowany w implementacji.

Dlaczego standard C / C ++ nie definiuje jawnie znaku char jako podpisanego lub niepodpisanego, aby uniknąć niebezpiecznych nadużyć, takich jak powyższy kod?

questionAnswers(2)

yourAnswerToTheQuestion