今天我玩了一个名为' TinyCC'我找到了一个有趣的功能。
通常如果我们要绘制树,我们将使用这样的代码:
#include <stdio.h>
main()
{
printf(" *\n");
printf(" * *\n");
printf(" * *\n");
printf(" *******\n");
printf(" *\n");
printf(" ***\n");
}
或者
#include <stdio.h>
main()
{
printf("\n\
*\n\
* *\n\
* *\n\
*******\n\
*\n\
***");
}
但我很惊讶地发现这段代码工作正常,根据我的经验肯定会报错:
#include <stdio.h>
main()
{
printf("
*
* *
* *
*******
*
***
");
}
我认为这是c99的新功能但却找不到它。它是编译器功能还是什么?
ps,我刚刚在gcc(Ubuntu 4.8.2-19ubuntu1)4.8.2中测试过。它按我的预期报告错误。但它不是c99编译器,所以我无法得出结论。我正在寻找另一个c99编译器。
答案 0 :(得分:0)
您为printf
提供了一个已包含换行符的字符串,因此只打印它们。