gpt4 book ai didi

c - 在没有引用的情况下使用指针?

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

我对这个函数有问题这个函数使用了一个指针而不引用它但是我很惊讶它能工作而且我不知道为什么函数中的 ptr 没有被引用并且函数工作没有错误如果有人能解释我为什么它不会产生错误,我将不胜感激

#include<stdio.h>

int * Ret(int *x)
{
int *ptr;
*ptr = (-1*(*x));
return ptr;
}

int main(void)
{
int val = 5,op;
op = *Ret(&val);
printf("%d",op);
}

输出将为 -5,但我认为它一定会产生运行时错误?

最佳答案

这是未定义的行为。

任何事情都可能发生,因此这可能是一种有效的行为。

如果您想捕获这些问题,请使用外部工具,例如valgrind 或自定义编译器,例如clang 与地址 sanitizer 。

关于c - 在没有引用的情况下使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251790/

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