gpt4 book ai didi

在函数中使用 const 参数的 C 编程

转载 作者:太空宇宙 更新时间:2023-11-04 08:12:17 24 4
gpt4 key购买 nike

我有一个疑问。请看下面的C程序

int main(void){

unsigned int consttest_var = 1;
unsigned int i;
for(i = 0; i<10; i++){
consttest_var++;
consttest_func(consttest_var);
}
return 0;
}

void consttest_func(const unsigned int consttest_var1){
printf("\n%d", consttest_var1);
}

我尝试了上面的代码,得到的 consttest_var1 值为 2,3,4....10。为什么 consttest_var1 应该打印声明为 const 的值。我原以为它会以只读方式抛出错误。谁能解释一下?

最佳答案

I was expecting it will throwing error as read only.

void consttest_func(const unsigned int consttest_var1){
printf("\n%d", consttest_var1);
}

您的 consttest_func 从未真正修改过参数 consttest_var1,因此它不会抛出任何只读错误。

如果你真的修改了 consttest_func 中的参数,比如像 consttest_var1++; 这样的语句,那么它会抛出 read-only parameter 作为你会期待。

关于在函数中使用 const 参数的 C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38420181/

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