C - 指针在if条件下

时间:2017-07-17 13:26:18

标签: c pointers comparison character

假设我们有以下代码示例:

char *s="hello";

if(*s=='h'){

    printf("OK");

}

程序将显示'OK',因为比较结果为真。

但是,此代码背后的逻辑是字符和地址之间的比较(而不是地址的内容)。

如果知道*s等同于地址,那么如何才能使这个条件成立?

由于

2 个答案:

答案 0 :(得分:0)

s是一个地址,但*s是一个位于s地址的值。由于schar**schar

答案 1 :(得分:0)

不是。 *(s+0)='h' //equal than *s *(s+1)='e'

' S'是该字符串的地址。