C 为什么在括号外声明变量
下面是一个C函数。我不理解函数名后面的变量声明。在教科书中,函数名后面应该以花括号开头。但这里没有花括号,它声明了3个变量。有人能告诉我:这些变量是函数的局部变量吗?为什么它们不在花括号内C 为什么在括号外声明变量,c,C,下面是一个C函数。我不理解函数名后面的变量声明。在教科书中,函数名后面应该以花括号开头。但这里没有花括号,它声明了3个变量。有人能告诉我:这些变量是函数的局部变量吗?为什么它们不在花括号内 static long CheckBytes ( kind, byt, typ ) /*********************************************************************/ long kind ;
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;
开关(典型){
案例1:
如果(种类==1){
如果(byt>=1&&byt=1&&byt=1&&byt=1&&byt=1&&byt=1&&byt这是定义函数的旧方法。基本上
static long CheckBytes(kind,byt,typ)
long kind;
long byt;
long typ;
{
与
static long CheckBytes(long kind,long byt, long typ) {
此函数是使用原始Kernighan和Ritchie语法定义的。它被认为是老式的,不再经常使用。更喜欢C89引入的较新样式(又称ANSI样式)语法:
static long CheckBytes(
long kind,
long byt,
long typ) { ,,,
看看答案这是一种非常古老的样式,它相当于“静态长校验字节(long-kind,long-byt,long-typ){/…}”