54

单选题 54 /101

函数作用:将整型数组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 */ 
  } 
}
以上代码的实现有错误,下面哪句话的表述是正确的?

参考答案

*p++应该改为(*p)++
数组的值是一个不能改变的值,所以p不能直接被修改。应该使用一个和p相关联的指针来完成这个操作。
while循环的条件必须是一个布尔类型的表达式,表达式应该为n!=0.
p不应该定义为变长的数组,参数中不应该包含参数n。