关于c中代码加 ‘\‘ 进行换行的说明

我们在c与c++中经常会遇到一种情况就是加 ‘\’ 进行换行来保持代码整体结构一致的使用情况,那么具体来说换行的规则是什么,这里进行一下记录

#include <iostream>
#include <string>
using namespace std;

#define MYDEF you \
are\
        the\
    apple \
 of my eye\
s\
 !

// 以上分别为
// 1 末尾加空格开头不加
// 2 末尾不加空格开头两个制表符
// 3 末尾不加空格开头一个制表符
// 4 末尾加空格开头也加空格
// 5 末尾开头都不加空格
// 6 末尾不加空格开头加空格

int main(){
MYDEF

    return 0;
}

我们来看这个代码,由于换行的原因注释就统一写在下面了(逻辑有点不整齐,理解一下),在这个代码中我们用gcc来进行一下预编译
在这里插入图片描述
我们来看得到的编译结果

int main(){
you are the apple of my eyes !

    return 0;
}

结果就是除了eye和s之间没有空格,所有的部分之间都是一个空格,也就是处理的时候只要中间有空隙都会转化为一个空格,而完全没有空隙就会紧贴在一起。(宏定义的时候经常会用这种形式来模拟函数,到时候在这个基础上进行理解)


还有一点一定要注意,一定一定要注意,一定千万要注意就是使用 ‘\’ 的时候千万千万千万不要加空行,要不然你会盯着代码看一天的!!!

另外vscode里面支持直接显示宏定义使用时候的展开情况,估计好多开发环境里面也都支持,不需要用gcc自己编译了,太麻烦。

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C语言,可以使用特定的转义字符来实现在同一行输出多个字符串的效果,而不是使用多个puts函数调用。 具体来说,可以使用反斜线上字母n(\n)来表示一个换行符,这将在输出的字符串插入一个新的行。 例如,以下代码将输出两个字符串,每个字符串在单独的一行上: ```c printf("Hello\nWorld\n"); ``` 输出: ``` Hello World ``` 注意,printf函数是一个通用的输出函数,它可以输出任何类型的数据,而不仅仅是字符串。如果要输出字符串,请将字符串作为printf函数的第一个参数传递,并使用格式说明符%s来指定字符串类型。 希望这可以帮助回答您的问题! ### 回答2: 在C语言,使用puts函数输出字符串时,会自动在最后添一个换行符。如果想要消除这个自带的换行,可以使用printf函数来替代puts函数,手动控制输出的格式。 下面是一个示例代码: ```c #include <stdio.h> int main() { printf("Hello, World!"); return 0; } ``` 在上述代码,使用printf函数代替了puts函数,并且没有在字符串的结尾添换行符。这样就可以消除puts函数自带的换行符。 请注意,如果想要输出多个字符串,可以使用多个printf语句或者使用转义字符`\n`来手动换行。 ### 回答3: 在C语言,puts函数会在输出的字符串后自动添换行符'\n'。若需要消除puts自带的换行,可以使用printf函数来代替puts函数。 printf函数不会自动添换行符,可以手动控制输出的格式。可以使用以下两种方法来输出不带换行的字符串: 方法一:使用转义字符 使用转义字符\0,可以在字符串一个空字符,表示字符串的结束。此时printf函数只会输出该字符串,不会自动添换行符。 例如: ```c printf("Hello, World!\0"); ``` 方法二:使用格式化控制符 使用格式化控制符"%s"结合参数,可以控制输出的字符串不带换行。 例如: ```c printf("%s", "Hello, World!"); ``` 以上两种方法都可以消除puts函数自带的换行符,从而在输出字符串时不换行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值