char c = '"';
// it is compiled and successed.
I have a question that: why we can char c = '"'; instead of using char c = '\"'.
I used to think that char c = '"' is wrong before.
Thank you alot
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | turmax | 3559 |
| 6 | tourist | 3541 |
| 7 | strapple | 3515 |
| 8 | ksun48 | 3461 |
| 9 | dXqwq | 3436 |
| 10 | Otomachi_Una | 3413 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 157 |
| 2 | adamant | 153 |
| 3 | Um_nik | 147 |
| 3 | Proof_by_QED | 147 |
| 5 | Dominater069 | 145 |
| 6 | errorgorn | 142 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | TheScrasse | 134 |
| 10 | chromate00 | 133 |
char c = '"';
// it is compiled and successed.
I have a question that: why we can char c = '"'; instead of using char c = '\"'.
I used to think that char c = '"' is wrong before.
Thank you alot
| Name |
|---|



Because standard says so. And it always was that way.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf (Section 5.3.13)
We don't need to escape the character
"when we put it between'. The reason is just the compiler will understand it and there is no need for\.But when we put it between
"we need to escape it because if we don't it will be marked as the end of the string.