为什么printf那里一个输出的是数组元素,一个输出的是地址
对字符数组来说,各字符内存地址是 连续 的。
当使用%s格式字符串,并赋给数组 首地址 &str[0],会打印出该字符数组代表的字符串。
如果想打印单个字符,请用 %c
如果想打印内存地址,请用 ** %p**
注意理解回答中标粗的部分,printf函数详细使用方法可查阅文档。
如果对您有帮助,请采纳答案好吗,谢谢!
在printf中,当你加上&符号时,他输出的是str[0]这个数所在的地址
当你不加上&符号时,他只是把str数组中第0个数输出出来
&这个符号是取地址的,不是用来寄存对象的
&取的是数组中的地址,str[0] 是第0个数的地址
记住就行了,不知道咋解释
&是取地址符,所以输出的是地址,str[0]访问的是第一个数组元素
&是用来取地址的,所以加上&输出是地址,不加是数组值