C语言中exit()函数运行结果和预期不一致
我在网上查询到的说法是:在子程序中exit(n)
相当于在main()函数中return(n)
如图:
exit(1)结果main()得到了4294967295,而不是1
请问这是为什么?
你这个提示应该是return 回来的值吧。
exit 是系统级别的。你用cmd
如:
D:\Users\Administrator\Desktop\ctest\Debug>1
D:\Users\Administrator\Desktop\ctest\Debug>echo %errorlevel%
55
试下 ba21 发表于 2018-12-9 18:06
你这个提示应该是return 回来的值吧。
exit 是系统级别的。你用cmd
谢谢,试了一下图上确实是 return;的值
把 if语句下的return; 改成return 0;
main()函数就得到1了
但是还是不懂为什么,
一是if语句下的语句块,在如图的流程中应该没有被执行,return;语句应该不被执行才对
二是为什么改成return 0; 就能得到1的值 ba21 发表于 2018-12-9 18:06
你这个提示应该是return 回来的值吧。
exit 是系统级别的。你用cmd
完了...
我把return 0;改回return ;
又能正常得到 1 了....
玄学...
页:
[1]