C - 指针输入 if 条件



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

char *s="hello";
if(*s=='h'){
printf("OK");
}

程序将显示'OK',因为比较是正确的。

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

知道*s等同于地址,怎么可能满足这个条件?

谢谢

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

"s"是该字符串的地址。

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

最新更新