c 语言

scanf函数中后面的参数放的是变量的地址,由于字符串的名字是字符串的地址,所以可以。
因为在c和c++中,字符串数组的名字就是代表了该字符串的首地址,也就是说,当你在使用scanf("%s",s)的时候,同样是在字符数组的第一个元素前面(其实也就是s)处开始记录值的,您可以理解为s = &s[0]=&s,当然这只限于字符串数组,当其他数据类型时是不可以的。
如果楼主不明白的话,可以试着在编译器中使用调试,然后将&s和s输入里面,查看,就可以知道。

https://wenku.baidu.com/view/2e8933da65ce050877321358.html

猜你喜欢

转载自blog.csdn.net/lydh123456/article/details/81625133