ddd中返回的是2,main中返回的是3
#include<stdio.h> void ddd(int a[]){ printf("%d\n",sizeof(a)/sizeof(int)); } int main(){ int a[]={3,4,6}; ddd(a); printf("%d\n",sizeof(a)/sizeof(int)); }
ddd中返回的是2?应该是1,因为参数a[]退化为指针。
http://codepad.org/XXp7GrT5在线验证13