c - 在函数内更新 C 中的 (int) 变量

标签 c

我正在尝试编写一个在简单的 C 蛇游戏中更改屏幕的函数。

main(){
  int stage = 0;
  ...
  ..
  .
  while(stage!=0){
    //if snake hits wall
    changeStage(stage);
  }
}

功能:

void changeStage(int stage){
  stage = 1;
}

此代码不会更新代码,它将继续运行。 我的代码有什么问题吗?

最佳答案

stage 按值传递给 changeStagestage = 1 仅更改 changeStagestage 的本地值,而不更改 stage 的值主要。您必须传递一个指针:

while (stage != 0) {
    changeStage(&stage);
}

void changeStage(int *stage) {
    *stage = 1;
}

关于c - 在函数内更新 C 中的 (int) 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58239984/

相关文章:

代码块,通过函数添加和存储整数

c - 动态内存访问仅在函数内部有效

python - 刷新 C 嵌入式 python 中的导入

c - 阅读数字

c - 如何对字符串数组使用 qsort?

c - TCP 并发回显服务器无法从第一个客户端读取字符串

c - 有没有开源的命令行库?

c - 如果程序由于错误而提前退出,释放动态分配内存的正确方法是什么?

c - 从文件中读取字符串,直到我们得到 '\n' 字符或 c/c++ 中的 EOF

c - printf 的参数用作格式说明符的参数