sách gpt4 ăn đã đi

c - Sự khác biệt giữa return 1, return 0, return -1 và exit là gì?

In lại 作者:太空狗 更新时间:2023-10-29 16:26:50 32 4
mua khóa gpt4 giày nike

例如考虑以下代码:

int main(int argc,char *argv[])
{
int *p,*q;
p = (int *)malloc(sizeof(int)*10);
q = (int *)malloc(sizeof(int)*10);
if (p == 0)
{
printf("ERROR: Out of memory\n");
trả về 1;
}


if (q == 0)
{
printf("ERROR: Out of memory\n");
exit(0);
}

trả về 0;
}

上面程序中的trả về 0, trở lại 1, thoát(0)是做什么的?thoát(0) 将退出整个程序并且控制跳出循环,但是在 trả về 0trở lại 1 的情况下会发生什么返回 -1

câu trả lời hay nhất

trở lại từ chủ yếu() 等同于ra

程序立即终止执行,退出状态设置为传递给trở lạihoặcra的值

内部函数(不是 chủ yếu)中的

trở lại 将立即终止特定函数的执行,将给定结果返回给调用函数。

ra 从代码的任何地方立即终止程序执行。


status 0 表示程序成功。

status 不同于 0 表示程序由于错误或异常而退出。

如果你以不同于 0 的状态退出,你应该向 stderr 打印一条错误消息,而不是使用 inf 更好的东西,比如

if(errorOccurred) {
fprintf(stderr, "meaningful message here\n");
trả về -1;
}

请注意(取决于您使用的操作系统)有一些关于返回码的约定。

Google 搜索“退出状态代码”或类似内容,您会在 SO 和其他地方找到大量信息。


值得一提的是,如果您尝试执行一些无效操作(例如读取您无权访问的内存),操作系统本身可能会以特定的退出状态代码终止您的程序。

关于c - return 1, return 0, return -1 和 exit 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22604196/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress