实际一个地址值比较,而str指向的地址就是后面字符串常量地址,所以相等,返回true
引用 13 楼 zhoujielunzhimi 的回复:引用 8 楼 steven30832 的回复:引用 2 楼 zhoujielunzhimi 的回复:1,str指向常量区的hello首地址,比较的是地址。 2,比较的还是地址 地址都一样 我本来是认同第一种说法的,但是后来再理解过来,第二种情况下,==号左边的"hello"和右边的"hello"是保存在同一……
围观中,不说话
引用 8 楼 steven30832 的回复:引用 2 楼 zhoujielunzhimi 的回复:1,str指向常量区的hello首地址,比较的是地址。 2,比较的还是地址 地址都一样 我本来是认同第一种说法的,但是后来再理解过来,第二种情况下,==号左边的"hello"和右边的"hello"是保存在同一个地址么?这里出现了两个值为hello的常量,这两个常量……
引用 2 楼 zhoujielunzhimi 的回复:1,str指向常量区的hello首地址,比较的是地址。 2,比较的还是地址 地址都一样 我本来是认同第一种说法的,但是后来再理解过来,第二种情况下,==号左边的"hello"和右边的"hello"是保存在同一个地址么?这里出现了两个值为hello的常量,这两个常量地址是一样的么?
等式成立,所以返回1。lz认为应该返回什么呢?
没要求说 两个相同的字符串字面值 必然是同一个对象 编译器乐意就 返回 1 不乐意就 返回值 0
引用 3 楼 wskzgz 的回复:str指向“hello”,从第一个字符开始取值比较!你说的是 *str == *"Hello" 这个才是取第一个字符比较 并且求值结果是0
str指向“hello”,从第一个字符开始取值比较!
64,648
社区成员
250,503
社区内容
加载中
试试用AI创作助手写篇文章吧