c++双引号和单引号里的转义字符效果竟然一样 比如"尀n"和✀尀n✀输出的结果都是换行 为什么?

2025-04-06 16:44:50
推荐回答(4个)
回答1:

"\n"是一个字符串,也可以理解为字符的数组,所以里面的成员都是一个一个的字符,当然在这个字符串里面只包含一个字符'\n',字符串的输出可以理解为一个一个循环的输出每一个字符,所以在输出字符串"\n"的时候也就是在暑促所包含的全部字符,这里只有一个'\n',所以效果和'\n'是一样的。

回答2:

单引号一般只能放一个字符

但是不会影响转义字符(因为它也是相当一个字符)

例:

cout<<'Hello,world';

会给你一条警告 并且运行后输出乱码

但是

cout<<'\n';

则会换一行

cout<<'a';

会输出a

回答3:

这个是没有区别,但是‘’与“”在于一个是单个字符时使用(char),一个是字符串(string或者或者char*),而转义字符在单/双引号里作用不改变,但是POSIX推荐使用“”.

回答4:

零星记得,双引号的是多占一个空字符的内存空间的。而单引号的是只占这个字符的内存空间的。
而printf里面的,应该没区别了吧。。