c中由于别名问题的存在,导致程序的结果会出乎预料
比如:
void f1(int *xp, int *yp){
*xp += *yp;
*xp += *yp;
}
*xp += *yp;
*xp += *yp;
}
和
void f2(int *xp, int *yp){
*xp += 2* *yp;
}
*xp += 2* *yp;
}
当xp和yp指向不同的内存时,两个函数结果一样,
但是,当xp和yp指向同一块内存时,就会出现不同的结果