以下比较是否保证是真的?
"hello world"=="hello world";
Run Code Online (Sandbox Code Playgroud)
此外,以下始终保证是假的吗?
char a[] = "hello world";
a == "hello world";
Run Code Online (Sandbox Code Playgroud)
要清楚 - 在两种情况下,您都在比较指针,而不是实际的字符串内容.
对于
"hello world"=="hello world";
Run Code Online (Sandbox Code Playgroud)
允许比较是true或false.C标准在6.4.5"字符串文字"中说:
如果这些数组的元素具有适当的值,则这些数组是否不同是未指定的.
因此,该标准允许文字的存储相同或不同.
对于
char a[] = "hello world";
a == "hello world";
Run Code Online (Sandbox Code Playgroud)
比较将永远是false因为数组的地址a必须不同于字符串文字的地址.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |