gpt4 book ai didi

c - C 中变量的作用域

转载 作者:行者123 更新时间:2023-11-30 14:22:30 27 4
gpt4 key购买 nike

我有一个程序,其中有一个名为 best_cost 的变量,该变量是在所有函数之外定义的。然后我有一个名为compare_costs的函数,它可以更改best_cost的值,并且我在main()中打印了best_cost。现在它输出1000000,这告诉我compare_costs函数的范围不能改变best_costs的值。我使用了调试器,发现 best_cost 在 Compare_costs 中发生了变化。这是我的代码的简化版本:

int best_cost = 1000000;

int main {

compare_costs(new_cost);

printf("%d", best_cost);

}

void compare_costs(nc)
{
if(nc < best_cost) {
best_cost = nc;
}
}

我需要使用指针吗?如果是这样,您能给我一个如何将其实现为指针的简化版本吗?

另外,我应该注意到,这是我实际使用的非常简化的代码。我不只是将 best_cost 传递到 Compare_costs 函数并让它返回 best_cost 是有原因的。

这是完整的代码:http://pastebin.com/khs2jcaF

最佳答案

问题是 best_cost 也在 main() 中定义。

关于c - C 中变量的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696173/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com