You do not have a CPU type include line?
If it's a DSPIC or PIC24 (PCD compiler), the output_x instruction is defined as needing a 16 bit value.
The output_bit() instruction may be more appropriate, that controls individual pins.
eg. to set an output high:
output_bit(PIN_B7, 1);
Have you tried setting a breakpoint after the if getc line, to see what is actually happening there?
I'd change to using a variable for the getc() result, then the IF on a separate line.
That allows you to see what was received by looking at the variable.
However --
Looking again, the programs structure seems odd...
The while statement needs something after it, another statement or {} block, which is executed while kbhit returns false.
At the moment that is the getc line...
Try something more like this:
C:
char c;
while(true)
{
wait:
while(!kbhit())
;
c = getc();
if(c !='s')
{
...