我需要最简单的答案。我已经在各个网站上查找了答案。如果程序的输入是输出为10,命令返回0强制程序返回值0而不是10?我在Borland IDE上编写了简单的C程序而没有返回0并且它们工作正常。
答案 0 :(得分:2)
没有什么可以添加到Maroun的链接。如果您想了解更多有关返回值的信息,那就是这种方式。
新手只需几句话:
int main()
{
return 0;
}
和
int main()
{
return 22;
}
和
void main()
{
}
如果你没有检查程序的返回值并在大多数默认设置编译器上编译,那么的行为都会一样。
当您在命令行(windows)或shell(linux)上执行程序时,可以通过检查返回值(即您正在返回的值)来检查该程序是否成功或成功完成其任务。
顺便说一句,遵循标准是一个好习惯,因此我强烈推荐给你。
答案 1 :(得分:0)
我假设您正在讨论main()函数:如果您返回的不是0(这与完全省略return相同),则假定这是一个错误代码,可用于通知其他程序当前的程序未能按预期执行。
答案 2 :(得分:0)
主函数通常应该返回一个值,然后返回一些值就完成执行。返回0表示成功,返回非零数字表示失败。因此我们在主函数结束时“返回0”。但是你可以在没有返回0的情况下运行main函数。它的工作方式相同。资料来源: What is the proper declaration of main?
答案 3 :(得分:0)
main
函数的返回码被传递回操作系统。它的作用取决于此。如果在命令行上执行程序,则可以忽略它。在脚本中,此返回码可用于确定如何继续。
如果您使用void main()
,则会返回0.
以下是DOS的示例:
rem test.bat
@echo off
MainReturnValTest
@if "%ERRORLEVEL%" == "0" goto good
:fail
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end
:good
echo Execution succeeded
echo Return value = %ERRORLEVEL%
goto end
:end
当然可以使用不同的语法在其他操作系统上完成相同的操作。例如,在Linux中,您可以使用:
myprogram && echo success
只有在返回码为0时才会打印成功。
您的计划的运作当然不受影响。
答案 4 :(得分:0)