假设我们有以下代码示例:
char *s="hello";
if(*s=='h'){
printf("OK");
}
程序将显示'OK'
,因为比较结果为真。
但是,此代码背后的逻辑是字符和地址之间的比较(而不是地址的内容)。
如果知道*s
等同于地址,那么如何才能使这个条件成立?
由于
答案 0 :(得分:0)
s
是一个地址,但*s
是一个位于s
地址的值。由于s
为char*
,*s
为char
。
答案 1 :(得分:0)
不是。
*(s+0)='h' //equal than *s
*(s+1)='e'
' S'是该字符串的地址。