char can only hold a single character, a character literal is determined through single quotes wrapping it -> ' '
when you are using double quotes " " it is interpreted as a string literal, (constchar*), or a series of char's
so, in this initialization : char a( "1" );
you are actually assigning a constchar* to a char ( because of " ", it is interpreted as constchar* more than one char ) w/c is not possible since char can only hold a single value
BTW, void main() should be int main()
Edit i think your title should be difference between quotes and double quotes instead