为什么运行结果总是8

img

img


不管怎么调整第四行的内容,它输出的结果总是8,不知道该怎么弄,但我确实想传递这个字符串数组,相当于编一个函数,求出它的字符总数。这样我就可以不用sizeof而是用changdu函数了。

这里有个指针退化的问题。changdu函数的形参是个数组,实际传实参的时候数组会退化成指针。即指向数组b的指针,如果你一定想传参的话,那就长度函数的形参写成(string (*str)[])

img

数组传实参的时候数组会退化成指针,指针长度为8。

changdu中形参就是个指针,指针长度为8.