为什么我打印数组a的长度总是4而不是20
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
// 专门打印数组的函数
void printArr(int *a)
{
// int length = sizeof(a) / sizeof(int);// get the length of this arr
printf("the size is %d", sizeof(a));
/*for (int i = 0; i < length;i++)
{
printf("%d \n",a[i]);
}*/
}
void main()
{
// 产生随机数种子
time_t tms;
int a[5];// 数组的创建
srand(
(unsigned int )time(&tms));// 注意 : z这里传的是地址
// 初始化数组
for (int i = 0; i < 5;i++)
{
a[i] = rand()%100+100;// 产生100--200 的随机数
}
// 输出数组
printArr(a);
getchar();
}
char b[15] = { 'a', 'b', 'c', 'e', 'a','a', 'b', 'c', 'e', '\0' }; 这个好像也不可以 求完整的解决方案
追答你这个也有结束符啊,如果你能规定 一个特殊数值作为整数的结束符,则传整型数组也能做到。
求一个解决方案啊