in C 2's complement method is used to represent numbers because of that when you say -1 its not 1000 0000 0000 0001 but 1111 1111 1111 1111...
it will be 5(2+1*2+1) only. this is famous C MCQ question on Macros.
sorry but it will not affect replacing " " by "" , as " " means assigning only spaces to character string while "" means not assigning anything.
this code will run fine in C++
C is a procedural language all code statements are executed one by one, besides that execution of C program passes through 3 phases...
output will be ==> ffdf its just complement of 0000 0000 0010 0000 or (0020 in hex or 32 in int/unsigned) i.e 1111...
Separate names with a comma.