C语言中函数声明的时候数组长度能否不写? int a[10]; int b(int a[]) 这样

C语言中函数声明的时候数组长度能否不写?
int a[10];
int b(int a[])
这样可以吗我发现写不写不影响运行结果。

可以不写的,定义的时候也可以不写的,因为它接受过来只是数组名,就是一个指针追问

int b(a)这样行吗

还想请教另一个问题
while(......)
{if(*p!='c')num++;
p++;
}这样是p++每次都执行,num++视if而定,还是它们都视if而定

追答

int b(int *a)就是可以的
num++是if决定的,p++是每次都执行

追问

哦谢谢

温馨提示:答案为网友推荐,仅供参考