如何利用函数求出这个数组的长度(语言-c++)

#include<iostream>
#include<string>
using namespace std;
int changdu (string (* str )[3]){
    return sizeof (*str )/sizeof (*str [0]);
}
int main (){
    string a[]={"012","345","678"};
    cout << sizeof(a)/sizeof(a)[0]<<endl;
    cout << changdu (&a);
    return 0;
}

我问的上一个问题和这一个问题有关,但是我利用上一个问题的答案发现必须要输入数组长度(就是第四行中的数字3),而我要解决的问题就是求数组长度。不知道有什么方法可以解决这个矛盾。我好像连for循环找它也不会。我感觉for循环也要输入循环的次数,所以我不知道该怎么解决。

遂个字符遍历,找到0为止

一共一句话的代码,别说函数实现不了,能实现你非要套个壳子也没有任何意义
或者你换个编程语言
C#、java、python这类不基于指针的,面向对象的编程语言,它们的数组也是对象,直接提供长度属性
而c++这种大部分面向过程的语言,在参数传递的时候传的还只是个指针,你根本没有办法
除非你自己规定所有的数组都以一个固定的结束符作为最后一项,比如空字符串或者单独一个换行符,然后函数里就遍历判断是不是结束符

兄弟你第八行第四个括号打错了
而且头文件#后面不能有空格

如果可以用char字符串的话,可以这样写:

#include<bits/stdc++.h>
using namespace std;
int main () {
    char a[5][5]={"012","345","678"};
    for(int i=0;i<3;i++)
    cout<<strlen(a[i]);//strlen计算长度,到\0停止
    return 0;
}