编写一个添加或删除空格以很好地格式化代码的程序。完成后代码外观的规则:
- 没有行应包含一个以上的
{
和}
。 - A
{
应该永远是一行中的最后一件事。 - A
}
应该始终是一行中的唯一内容(除空格之前)。 - 每行前面的空白数量应为当前嵌套计数的固定倍数。(您可以使用任意数量的缩进,只要它没有变化即可。)
- 不应插入或删除不会有助于满足这些规则之一的空格。
第一行的嵌套计数为0。任何其他行的嵌套计数为前一行的嵌套计数,如果前一行包含a {
,则加一个,如果当前行包含a ,则减一}
。
{
并且}
内部字符串文字和注释不计入上述规则。字符串文字是用单引号或双引号引起来的文本,其中单引号或双引号之前带有奇数个反斜杠的字符不会被解释为字符串文字的结尾。注释是用/*
和括起来的*/
文本,或者是从//
行尾开始的文本。在一行中的多个注释开始标记中,只有第一个开始计数。注释不会在字符串文字中解析。
例子
main() {printf("Hello!"); // I don't care about the world...
}
becomes:
main() {
printf("Hello!"); // I don't care about the world...
}
int main(){
puts("a");
puts("b");
}
becomes:
int main(){
puts("a");
puts("b");
}
main()
{ printf("{"); /* }
} */
printf("}//}"); ///*
}
becomes:
main()
{
printf("{"); /* }
} */
printf("}//}"); ///*
}
int test[] = {1, 2, 3};
becomes:
int test[] = {
1, 2, 3
}
;
评论不作进一步讨论;此对话已转移至聊天。
—
丹尼斯,