1.如下代码,调用函数时数组作为参数,在进入函数体后,若想要通过调试程序观察arr数组中的值。
#include<stdio.h>
void init(int arr[10],int sz)
{
for (int i = 0;i < sz;i++)
{
arr[i] = 0;
}
}
void print(int arr[10],int sz)
{
for (int i = 0;i < sz;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
init(arr, sz);
print(arr, sz);
return 0;
}
若是直接输入arr进行监视,会发现只能看到数组的第一个元素的值。
2.解决办法:调试程序时,若遇到数组为参数的函数调用,监视时需输入arr,10(数组名,数组长度),即可观察到数组中所有元素的值。二维数组同理,不过需要输入二维数组的行数。