c语言的简单问题,求解答

为什么printf那里一个输出的是数组元素,一个输出的是地址图片

c

7个回答

对字符数组来说,各字符内存地址是 连续 的。
当使用%s格式字符串,并赋给数组 首地址 &str[0],会打印出该字符数组代表的字符串。

如果想打印单个字符,请用 %c

如果想打印内存地址,请用 ** %p**

注意理解回答中标粗的部分,printf函数详细使用方法可查阅文档。

如果对您有帮助,请采纳答案好吗,谢谢!

在printf中,当你加上&符号时,他输出的是str[0]这个数所在的地址
当你不加上&符号时,他只是把str数组中第0个数输出出来

weixin_38763863
weixin_38763863 &取地址获取的是数组元素的地址
接近 3 年之前 回复
qq_40755194
qq_40755194 所以说字符串那里输出的不应该是地址吗,为什么是我输入的字符串
接近 3 年之前 回复

&这个符号是取地址的,不是用来寄存对象的

&取的是数组中的地址,str[0] 是第0个数的地址

记住就行了,不知道咋解释

&是取地址符,所以输出的是地址,str[0]访问的是第一个数组元素

&是用来取地址的,所以加上&输出是地址,不加是数组值

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐