1、

  下面的函数被用来计算某个整数的平方,它能实现预期设计目标吗?如果不能,试回答存在什么问题:

1
2
3
4
int square( volatile int *ptr )
{
    return *ptr * *ptr;
}
由于*ptr的值可能在两次取值语句之间发生改变,因此a和b可能是不同的。结果,这段代码可能返回的不是你所期望的平方值!正确的代码如下:
1
2
3
4
5
6
long square( volatile int *ptr )
{
    int a;
    a = *ptr;
    return a * a;
}
 

相关文章:

  • 2022-12-23
  • 2021-04-09
  • 2021-09-14
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-09
  • 2022-12-23
  • 2021-11-14
  • 2021-12-23
  • 2022-12-23
  • 2021-11-21
相关资源
相似解决方案