C/C++ 代码换行问题
在Windows中
回车换行(\n\r):每次光标移到下一行的行首位置处;
'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
'\n' 换行,换到当前位置的下一行,而不会回到行首;
Unix系统里,每行结尾只有“<换行>”,即"\n";
Windows系统里面,每行结尾是“<回车><换行>”, 即“\r\n”;Mac系统里,每行结尾是“<回车>”,即"\r";一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
1、字符串的换行
换行的字符串最后,添加双引号,下一行开头也加上双引号就可以或加\。
//方法1
charchstr2[] = "abcabc\
abcabc";
//方法2
char buf[128];
strcpy(buf, "1234567890ab "
"cdefg ");
上述示例等同于:
char buf[128];
strcpy(buf, "1234567890abcdefg ");
2、#define的宏
宏定义是以“\”换行,如:
#define MAX(a,b) \
((a) <(b) ? (b) : (a))
3、关键字的换行
关键字换行支持:(+ - * / % = , | & ^ ~ || && == !=)以及括号等,均能作为自动作为换行符号。