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&...