Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        3年前关闭。
                                                                                            
                
        
#include <stdio.h>

int main(int argc, char **argv) {
    // your code goes here
    char *p;
    p = "hello";

    printf("%s",*&*&p);
    return 0;
}


它为p*&p*&*&p提供相同的输出。这怎么可能?

最佳答案

*表示在内存中此位置的内容。
&给出此对象的内存地址。

因此:
p是字符串hello起始的地址。
*&p表示给我p处(即hello起始地址)的任何内容。
*&*&p表示给我p位置处的任何内容

因此,所有这些都给您p

08-26 17:56