题解 | #嵌入式会改变的指针#

嵌入式会改变的指针

https://www.nowcoder.com/practice/84791be9b66c441f81f4d083713341ba

int fun(int n ) {

 // write code here

 volatile int * p = &n;

 return square(p);

}

int square(volatile int * p){

 // return (*p) * (*p);  这是错的,因为p为volatile修饰的,其具有易变性,且该关键字不能保证原子性 ,即获取第一个*p 后第二个*p获取的值可能跟前面的不同

 int a = *p;

 return a*a;

}

全部评论

相关推荐

头像
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务