gpt4 book ai didi

c - 在 C 的单个语句中分配和比较

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:14 25 4
gpt4 key购买 nike

如何将以下代码转换为一行?

int *i;
i = some_func_ret_int_ptr();
if(!i)
{
// Do something
}
// Will use 'i' later

我想做这样的事情:

if((i=some_func_ret_int_ptr) && !i)
{
// Do something
}
// Will use 'i' later

但我在这里浪费了一次比较。有更好的方法吗?

我想要的只是在 if 中进行赋值和比较,并且只比较 i

最佳答案

对于 C,这是您可以打高尔夫球的极限:

int *i;
if(!(i = some_func_ret_int_ptr()))
{
// do something
}
// Will use i later

关于c - 在 C 的单个语句中分配和比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266839/

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