数组传入函数后不能正确利用sizeof(arr)/ sizeof (arr[0]) 计算长度
void func(char* s) { int num; num = sizeof(s) / sizeof(s[0]); cout << num << endl;}
对的,函数参数用数组的话,是作为指针处理的,所以sizeof(s)得到的是指针自身的长度,也就是4 。所以当作数组用时,你就需要加一个长度参数;如果s当字符串用,那么strlen(s)可以得到字符串长度