【发布时间】:2019-04-20 05:37:42
【问题描述】:
while(str[i]!='\0')
{
if(str[i]!=str1[i])
{
printf("not equal");
return 1;
}
i++;
}
printf ("equal");
return 0;
如果我们使用 return 1 会发生什么。 return 1 会终止 if 条件还是整个循环?
【问题讨论】:
-
请标记一种编程语言,以便人们可以找到您的问题。
-
会发生什么取决于调用
return的范围。return使控件在调用 函数 之前立即停止的地方拾取。 (在函数调用开始时压入堆栈的帧(或基)指针中存储的地址)如果在main中调用return,您的程序会将控制权返回给shell。如果从另一个函数 1 调用的函数 2 中调用,则控制返回到函数 1。 -
那么如果我使用 return 0 而不是 return 1 有什么区别呢?
-
@user11386822 如果您在
main函数中,则没有真正的区别(如果它不是 0,则表明您是否因错误退出程序)。否则取决于你如何使用函数的返回值。 -
@DavidC.Rankin 您会考虑将您的评论转化为答案吗?看来这是正确的答案,认出来就好了