backslash-newline 续行符 与 自由格式
C语言是自由格式语言,在很多情况下,可以自由进行换行。如下:
#include <stdio.h> #define NUM(x) \ ( \ x*x \ ) int main ( void ) { char a [ 10 ] = "hello"; int t = NUM(3); printf("%d\n", t); printf ( "%s" "\n", a); return 0 ; }
a[10]竟然也可以拆开!当然不能把常量或者标示符拆开。运行结果如下:
在宏中使用续行的时候,在续行符之后要直接进行换行,否则会发生错误,而在续行符之前却没有特别的规定。
printf当中字符串进行换行的话,最好使用“A”"B”使换行的两个字符串进行链接。如果使用续行符,那么要使用一下格式:
#include <stdio.h> int main( void) { printf("hello,\ world\n"); printf("hello,\ world\n"); return 0; }
第二个printf下面的world之前的空格也将会被加入字符串而后进行输出。结果如下