我正在尝试编写一个在简单的 C 蛇游戏中更改屏幕的函数。
main(){
int stage = 0;
...
..
.
while(stage!=0){
//if snake hits wall
changeStage(stage);
}
}
功能:
void changeStage(int stage){
stage = 1;
}
此代码不会更新代码,它将继续运行。 我的代码有什么问题吗?
最佳答案
stage
按值传递给 changeStage
。 stage = 1
仅更改 changeStage
中 stage
的本地值,而不更改 中
。您必须传递一个指针:stage
的值主要
while (stage != 0) {
changeStage(&stage);
}
void changeStage(int *stage) {
*stage = 1;
}
关于c - 在函数内更新 C 中的 (int) 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58239984/