相关疑难解决方法(0)

传递参考与传递值之间有什么区别?

有什么区别

  1. 通过引用传递的参数
  2. 一个由值传递的参数?

你能给我一些例子吗?

language-agnostic pass-by-reference pass-by-value

539
推荐指数
11
解决办法
65万
查看次数

通过C中的引用传递

如果C不支持通过引用传递变量,为什么这会起作用?

#include <stdio.h>

void f(int *j) {
  (*j)++;
}

int main() {
  int i = 20;
  int *p = &i;
  f(p);
  printf("i = %d\n", i);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

产量

$ gcc -std=c99 test.c
$ a.exe
i = 21 
Run Code Online (Sandbox Code Playgroud)

c pointers pass-by-reference

200
推荐指数
11
解决办法
34万
查看次数

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

我正在尝试编写一个在我的简单C蛇游戏中改变屏幕的功能.

main(){
  int stage = 0;
  ...
  ..
  .
  while(stage!=0){
    //if snake hits wall
    changeStage(stage);
  }
}
Run Code Online (Sandbox Code Playgroud)

功能:

void changeStage(int stage){
  stage = 1;
}
Run Code Online (Sandbox Code Playgroud)

此代码不会更新代码,它将继续运行.我的代码出了什么问题?

c

10
推荐指数
3
解决办法
4万
查看次数

如何在C中的main函数中使用包含scanf()的函数

标题描述了我正在尝试做的事情,但我收到的错误消息是我从未声明过base1.我实际上知道这一点,但我不确定如何真正解决问题.

int getBase1(void);
int setBase1(double);

int main(void){
    getBase1();
    setBase1(base1);
}

int getBase1(void){
    printf("Please enter the length of a base: ");
    return;
}

int setBase1(double base1){
    scanf("%lf", &base1);
}
Run Code Online (Sandbox Code Playgroud)

c printf scanf getter-setter

-1
推荐指数
1
解决办法
1281
查看次数