函数作用:将整型数组p中n个数据增大
void increment_ints (int p [ ], int n) { assert(p != NULL); /* 确保p不为空指针 */ assert(n >= 0); /* 确保n不为负数 */ while (n) /* 循环n次. */ { *p++; /* 增大p*/ p++, n--; /* p指向下一位,n减1 */ } }以上代码的实现有错误,下面哪句话的表述是正确的?
void increment_ints (int p [ ], int n) { assert(p != NULL); /* 确保p不为空指针 */ assert(n >= 0); /* 确保n不为负数 */ while (n) /* 循环n次. */ { *p++; /* 增大p*/ p++, n--; /* p指向下一位,n减1 */ } }以上代码的实现有错误,下面哪句话的表述是正确的?
*p++应该改为(*p)++
数组的值是一个不能改变的值,所以p不能直接被修改。应该使用一个和p相关联的指针来完成这个操作。
while循环的条件必须是一个布尔类型的表达式,表达式应该为n!=0.
p不应该定义为变长的数组,参数中不应该包含参数n。