我该怎么解决?我想要d的值,我该怎么做?我需要一些帮助。谢谢你。

#include <stdio.h>
#include <stdlib.h>

void LerDeputados(int d) {
    printf("Indique o número de deputados a repartir: ");
    scanf("%d",&d);
}
int main(void) {
    int d;
    LerDeputados(d);
    printf("%d",d);

    return 0;
}

最佳答案

这里的问题是,当您将变量d传递给LerDeputados函数时,它是按值传递的,这意味着它是复制的。该值在函数内部被正确地更改,但它只是更改副本,更改副本当然不会更改原始值。
这里需要做的是通过引用传递变量。不幸的是,C没有这个功能,但是可以使用指针来模拟它。换句话说,您需要将指向变量d的指针传递给LerDeputados函数。
就像

void LerDeputados(int *d) { ... }

然后用接线员的地址呼叫它:
LerDeputados(&d);

关于c - 这东西给我错误。 C语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33465027/

10-11 23:03