问题描述
- sizeof在两函数中返回结果不同
-
ddd中返回的是2,main中返回的是3#include<stdio.h> void ddd(int a[]){ printf("%dn",sizeof(a)/sizeof(int)); } int main(){ int a[]={3,4,6}; ddd(a); printf("%dn",sizeof(a)/sizeof(int)); }
解决方案
ddd中返回的是2?
应该是1,因为参数a[]退化为指针。
解决方案二:
http://codepad.org/XXp7GrT5
在线验证
1
3
时间: 2024-09-21 14:20:17