I\'ve made a simple program and compiled it with GCC 4.4/4.5 as follows:
int main ()
{
char u = 10;
char x = \'x\';
char i = u + x;
return 0;
}
When you do any arithmetic operation on char type, the result it returns is of int type.
See this:
char c = 'A';
cout << sizeof(c) << endl;
cout << sizeof(+c) << endl;
cout << sizeof(-c) << endl;
cout << sizeof(c-c) << endl;
cout << sizeof(c+c) << endl;
Output:
1
4
4
4
4
Demonstration at ideone : http://www.ideone.com/jNTMm