C语言中使用大括号的正确方法是什么?

在C中,使用大括号的方法无所谓对还是错——只要每个开括号后都有一个闭括号,你的程序中就不再会出现与大括号有关的问题。然而,有三种著名的大括号格式经常被使用:
Kernighan和Ritchie,Allman,Whitesmiths。下文中将讨论这三种格式。

在《C程序设计语言(The C Programming Language)》一书中,Brian Kernighan和Dennis Ritchie介绍了他们所使用的大括号格式,这种格式如下所示:
if (argc<3) {
    printf (" Error! Not enough arguments. Correct usage is ..\n" ) ;
    printf("c:>eopyfile    \n") ;
    exit (1) ;
}
else {
    open_files () ;
    while (! feof(infile)) {
             read_data ( ) ;
             write_data() ;
    }
    close files() ;
}

注意,在Kb&R格式中,开括号总是与使用它的语句在同一行上,而闭括号总是在它所关闭的语句的下一行上,并且与该语句对齐。例如,在上例中,if语句的开括号和它在同一行上,|f语句的闭括号在它的下一行上,并且与它对齐。在与if语句对应的else条件语句以及出现在程序段后部的while语句中,情况也是这样的。

下面是用Allman格式书写的同一个例子:
if (argc<3)
{
    printf("Error! Not enough arguments. Correct usage is :\n" ) ;
    printf("C:>copyfile    \n") ;
    exit(1);
}
else
{
    open_files ( );
     while (! feof(infile))
    {
             read_data ( ) ;
             write data();
    }
     close_files() ;
}
注意,在Allman格式中,每个大括号都单独成行,并且开括号和闭括号都与使用它们的语句对齐。

下面是用Whitesmiths格式书写的同一个例子:
if (argc<3)
   {
    printf("Error! Not enough arguments, Correct usage is :\n" );
    printf ("C :> copyfile\n." ) ;
    exit(1);
}
else
    {
    open files () ;
     while (! feof(infile))
          {
             read_data() ;
             write data();
          }
     close files () ;
    }
与Allman格式相同,Whitesmiths格式也要求大括号单独成行,但是它们要和它们所包含的语句对齐。例如,在上例中,if语句的开括号是与第一个printf()函数调用对齐的。

不管你使用哪一种格式,一定要保持前后一致——这将有助于你自己或其它人更方便地读你的程序。

你可能感兴趣的:(.net,C#)