c - 从传递的参数中检索值

标签 c arguments return

我一定有什么误解,为什么不返回 10?

int main() {

    float i = 0;
    func(i);
    printf("%f", i);

    return 0;
}


void func(float i) {

    int j;
    for (j = 0; j < 5; j++) {

         i += 2;
    }
}

最佳答案

原始类型(如 float )是“按值传递”的,func() 实际上是在修改 i 的副本。

关于c - 从传递的参数中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928870/

相关文章:

python - 我需要一个以正整数 (n) 开头并返回 2 的幂列表的函数,从 2 开始

c - 计算函数返回值的最佳实践

c - 用 '%20' 替换字符串中的所有空格。假设字符串在字符串末尾有足够的空间来容纳额外的字符

c - 字符串值数组中缺少条目

c - 什么是链接器符号 __TMC_END__ 和 __TMC_LIST__?

javascript - 创建一个接受函数并返回带有时间戳的函数的函数

传递给 `msgpack_pack_int()` 宏的计数器变量不递增

swift - 使用 Process() 从 git 版本导出文件

javascript - 有人可以在 javascript 示例中解释这个 "passing arguments"吗?

c++ - 将 vector 对象传递给函数并返回