代码中有一段没看懂,谁来解释下!

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:06:04
int ia[6] = { 0, 1, 2, 3, 4, 5 };
int * parray_begin = &ia[0];
int * parray_end = &ia[6];

int sum = 0;
if ( ! parray_begin || ! parray_end )
cout << sum;
else{
while ( parray_begin != parray_end )
sum += *parray_begin++;
cout << sum;
}
这段程序好像是把数组里的数求和,请问:
if ( ! parray_begin || ! parray_end )
cout << sum; 是什么意思?有什么用?

防止数组越界。如果两个指针有一个赋值失败,为空,则直接输出sum,防止while死循环。

括号内为一判断语句,输出sum(0)。并不是求和程序,仅是输出数组数。

防止无效指针,这里没用