以下是C函数。我不明白函数名后面的变量声明。如在函数名之后的教科书中那样,它应该以大括号开头。但是这里没有花括号,它声明了3个变量。任何人都可以告诉我:这些变量是函数本地的,以及为什么它们不在大括号内。
static long CheckBytes ( kind, byt, typ )
/*********************************************************************/
long kind ;
long byt ;
long typ ;
{
long byte ;
byte = 0 ;
switch ( typ ) {
case 1 :
if ( kind == 1 ) {
if ( byt >= 1 && byt <= 16 ) byte = byt / 4 ;
}
else {
if ( byt >= 1 && byt <= 16 ) byte = byt / 2 ;
}
break ;
case 2 :
if ( kind == 2 ) {
if ( byt >= 1 && byt <= 32 ) byte = byt ;
}
else {
if ( byt >= 1 && byt <= 32 ) byte = byt ;
}
break ;
case 3 :
if ( kind == 1 ) {
if ( byt >= 1 && byt <= 16 ) byte = byt / 4 ;
}
else {
if ( byt >= 1 && byt <= 16 ) byte = byt / 2 ;
}
break ;
}
return ( byte ) ;
}
答案 0 :(得分:3)
使用原始的Kernighan和Ritchie语法定义此函数。它被认为是老式的,不再使用太多了。更喜欢C89引入的更新样式(又名 ANSI样式)语法:
static long CheckBytes(
long kind,
long byt,
long typ) { ,,,
答案 1 :(得分:2)
这是定义函数的旧方法。基本上
static long CheckBytes(kind,byt,typ)
long kind;
long byt;
long typ;
{
与
相同static long CheckBytes(long kind,long byt, long typ) {