strcmpが本当に"整数"を返すのであれば
c = c + strcmp(str1, str2);
がどの様な動作をするのか答えられると思うのだがどうだろうか?