gpt4 book ai didi

c - 为什么 main() 没有返回任何值?

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

/我尝试在 cb 函数中使用右移返回 bool 值 10 的第 1 位。/

#include<stdbool.h>
bool cb(int N,int i){ //`called function`
return ((N>>i)&1)==1;
}
int main(void) { //`main function`
cb(10,1);
return 0;
}

//状态:执行成功,但无输出。

最佳答案

main 不会神奇地返回另一个函数的结果,您还需要从 main 返回值

int main(void)
{
return cb(10, 1);
}

或者您可以使用以下值从函数中退出程序:

bool cb(int N,int i){ //`called function`
exit(((N>>i)&1)==1 ? EXIT_FAILURE : EXIT_SUCCESS);
}

并检查控制台中的返回:

./yourprogram
echo $?

但请注意,这被认为是不好的做法,我们通常仅在出现问题时才返回 EXIT_FAILURE,相反,您可以打印结果:

int main(void)
{
printf("%d\n", cb(10, 1));
return 0;
}

最后,您可以使用调试器

将代码更改为

Line 6   int res = cb(10, 1);
Line 7 return 0;

并启动调试器

gdb yourprogram
breakpoint 7 (after the line you want to inspect)
run
print res

关于c - 为什么 main() 没有返回任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58306405/

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