反斜杠起到换行作用,用于宏定义和字符串换行。其中宏定义中使用居多。
在写代码的时候遇到代码超长的情况下为了代码的美观及方便测试,可以通过在结尾加\的方式,实现换行,编译时编译器会忽略\及其后的换行符,当做一行处理。
1、在宏定义中要换行必须使用 \ 结尾
比如:
#define PI \
3.1415926
2、在字符常量中可以使用 \ 结尾
比如:
"hello \
world"
和"hello world"是相同的
3、在普通语句中,也可以使用 \ 来换行,不过这时有没有 \ 都可以,没有影响
比如
s=PI*r*r,\
l=2*PI*r;//1
s=PI*r*r,
l=2*PI*r;//2
s=PI*r*r;
l=2*PI*r; //3 这三种方法一样,都可以运行,没有区别
举一个简单的例子:
#include<stdio.h>
#include<string.h>
#define PI \
3.1415926
int main()
{
double r=10,s,l;
char a[111]="hello\
world";
s=PI*r*r,\
l=2*PI*r;//1
s=PI*r*r,
l=2*PI*r;//2
s=PI*r*r;
l=2*PI*r; //3 这三种方法一样,都可以运行,没有区别
printf("%.2lf %.2lf\n",s,l);
printf("%s",a);//前面的换行会导致输出的结果中间有很大的空格
printf("\n");
return 0;
}
结果为:
4、另外,(+ - * / % = , | & ^ ~ || && == !=)以及括号等,均能作为换行符号。换行的字符串最后,添加双引号,下一行开头也加上双引号就可以。
如:
strcpy(buf, "123456 "
"abcd");
上述示例等同于:
strcpy(buf, "123456abcd ");