少女祈祷中 . . .

C++数组元素个数计算


int i_max(int a[]) {
    int tmp=a[0];
    for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
        if (tmp < a[i])
            tmp = a[i];
//        tmp < a[i] ? tmp = a[i] : tmp = tmp;

    return tmp;
&#125;

关键代码

sizeof(a) / sizeof(a[0])

这一段是网上流行(?)计算数组元素个数的代码

但是在数组为指针的时候,经常会出错(C6384)

解决方法:

使用结构(struct)传递

struct a&#123;
int b[5]&#125;
xxx(struct a)
&#123;
sizeof(a.b);
&#125;

似乎是因为在传递的时候,数组变成了一个指针…


文章作者: Tokisaki Galaxy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Tokisaki Galaxy !
评论
  目录