向大家请问一个Lions Unix代码的有关问题

向大家请教一个Lions Unix代码的问题
大家好,我刚刚开始接触OS和C,在看Lions' Commentary on UNIX 6th Edition,对他的代码结构有些不理解,比如,书中第3章3.9 Example8,代码如下

    max (a,b)
    char *a, *b;
    {
      if(a>b)
         return (a)
       return(b)
    }



在这个函数里,为什么要在函数体外定义一个char呢?这在VC6.0下根本无法编译。那么,这个char在这里是什么意思,类似的这段代码是基于一个C99以前的规范吗?
------解决方案--------------------
这个是C的早期声明形参的语法,K&R创立它时差不多那个样子现在早就弃用了。

那个可以差不多翻译成这样的现代C代码

char *max (char* a, char* b)
{
   if(a>b)
      return (a); //这里倒是奇怪,C应该最初这里就要求有分号来作为句子结束的标志的了。
   return(b);
}