3 will be printed.
b will point to 'G' and a will point to null string ( \0 )
For subtraction of two pointers, if p1 and p2 are both pointers of type T *, then the value computed is:
( p2 - p1 ) = ( addr( p2 ) - addr( p1 ) ) / sizeof( T )
In the context of your program, let base address of the string be 2000. So, b = 2000 and a = 2006 (as char will take 1 byte)
Now, a - b = $\frac{address(a) - address(b)}{size of integer}$ = $\frac{2006 - 2000}{2}$ = 3