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 <source_file> <destination_file>\n")
exit (1)
}
else {
open_files ()
while (! feof(infile)) {
read_data ( )
write_data()
}
close files()
}
注意,在Kb&R格式中,开括号总是与使用它的语句在同一行上,而闭括号总是在它所关闭的语句的下一行上,并且与该语句对齐。例如,在上例中,if语句的开括号和它在同一行上,if语句的闭括号在它的下一行上,并且与它对齐。在与if语句对应的else条件语句以及出现在程序段后部的while语句中,情况也是这样的。
下面是用Allman格式书写的同一个例子:
if (argc<3)
{
printf("Error! Not enough arguments. Correct usage is :\n" )
printf("C:>copyfile <source_file> <destination_file>\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<source_file><destination_file>\n." )
exit(1)
}
else
{
open files ()
while (! feof(infile))
{
read_data()
write data()
}
close files ()
}
与Allman格式相同,Whitesmiths格式也要求大括号单独成行,但是要和所包含的语句对齐。例如,在上例中,if语句的开括号是与第一个printf()函数调用对齐的。
不管使用哪一种格式,一定要保持前后一致——这将有助于自己或其它人更方便地读程序。
出现原因是找不到stdio.h文件。包含的头文件大小写都无所谓的,那是宏定义,可以识别的。是路径的问题。你打开tc,options->directories->include
directories:
看一下后面的路径里是否能找到stdio.h这个文件。找不到把路径改到有的那里就行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)