- #include <stdio.h>
- #define NL '\n'
- int main()
- {
- printf("Line1NL");
- printf("Line2NL");
- return 0;
- }
复制代码
运行一下你会发现并不会换行……
这是因为 NL 被放在字符串中,就仅被当做普通字符表示,define 并不会去处理它
正确做法如下:
- #include <stdio.h>
- #define NL '\n'
- int main()
- {
- printf("Line1%c", NL);
- printf("Line2%c", NL);
- return 0;
- }
对于以上的两个程序,我还是不能很好地理解为什么在第一个程序中不能换行