关于c中return和exit返回值问题

yqf584874132 2009-12-13 02:04:31
在c中return,return(0),return(1)return(-1)及exit(0),exit(1),exit(-1)具体用法和区别,有谁能据点例子说明下么
不要像这样说哦
如果程序正常执行,用return语句向操作系统返回0值,即return 0,否则返回-1。return(0),正常返回等等
谢谢了
还有问下c语言中输出一片英语文章用for循环加字符数组加fgetc()能行么,主要是那个空格有么
...全文
523 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yqf584874132 2009-12-13
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{
int i;
char str[80];
FILE *fp; /* 定义文件指针 */

if((fp = fopen("test", "w")) == NULL) /* 以写方式打开文件 */
{ printf("cannot open file .");
exit(1);
}

gets(str); /* 从键盘输入字符串 */
for(i=0;str[i];i++)
fputc(str[i],fp); /* 将字符串中字符逐个写入文件 */

fclose(fp); /* 关闭文件 */
return 0;
}
这个程序运行怎么没有创建文件,我在目录文件夹里找不到text文件,更说不上输入的数据了
lovesi3344 2009-12-13
  • 打赏
  • 举报
回复
return之于exit就像continue之于break?????????????

[Quote=引用 11 楼 buptzwp 的回复:]
return是把控制权交给上层。
exit是程序直接退出。
[/Quote]
buptzwp 2009-12-13
  • 打赏
  • 举报
回复
return是把控制权交给上层。
exit是程序直接退出。
yqf584874132 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fouryu 的回复:]
exit是一个系统函数,用来结束当前程序。return是C语言的一个语法,用来结束当前函数,并返回一些执行结果。函数是程序的一个部分,main函数是默认的C程序入口。main函数结束了,可以理解为程序结束了。但是要结束程序并不一定要main函数结束,调用系统函数exit就可以结束整个程序,而不管你的程序处于什么阶段,什么状态--等于自杀。

要学习这个要理解这个有什么用,另外要理解为什么要这样用。读理论,看例子,多实践:)
[/Quote]
要学习这个要理解这个,有什么用
呵呵
fouryu 2009-12-13
  • 打赏
  • 举报
回复
exit是一个系统函数,用来结束当前程序。return是C语言的一个语法,用来结束当前函数,并返回一些执行结果。函数是程序的一个部分,main函数是默认的C程序入口。main函数结束了,可以理解为程序结束了。但是要结束程序并不一定要main函数结束,调用系统函数exit就可以结束整个程序,而不管你的程序处于什么阶段,什么状态--等于自杀。

要学习这个要理解这个有什么用,另外要理解为什么要这样用。读理论,看例子,多实践:)
do_fork 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yqf584874132 的回复:]
EXIT_SUCCESS
EXIT_FAILUR这量个是系统定义的宏么

[/Quote]

ISO C标准定义的宏,在stdlib.h中
yqf584874132 2009-12-13
  • 打赏
  • 举报
回复
EXIT_SUCCESS
EXIT_FAILUR这量个是系统定义的宏么
do_fork 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lovesi3344 的回复:]
好好看书!!!

引用 4 楼 do_fork 的回复:
引用 3 楼 vip24688 的回复:
exit()   结束当前进程/当前程序/,在整个程序中,只要调用   exit   ,就结束
return()   是当前函数返回,当然如果是在主函数main,   自然也就结束当前进程了,如果不是,那就是退回上一层调用

exit(0)      是非正常退出
exit(1)      是正常退出

在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..   exit(1)表示进程正常退出.   返回   1;   exit(0)表示进程非正常退出.   返回   0


一般是0表示正常退出,非0表示非正常

[/Quote]


#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("EXIT_SUCCESS = %d\n", EXIT_SUCCESS);
printf("EXIT_FAILURE = %d\n", EXIT_FAILURE);
}


输出:
EXIT_SUCCESS = 0
EXIT_FAILURE = 1

C++ Primer4 1.1章节
The operating system uses the value returned by main to
determine whether the program succeeded or failed.
A return value of 0 indicates success.

操作系统通过 main 函数返回的值来确定程序是否成功执行完毕。
返回 0 值表明程序程序成功执行完毕。

lovesi3344 2009-12-13
  • 打赏
  • 举报
回复
好好看书!!!

[Quote=引用 4 楼 do_fork 的回复:]
引用 3 楼 vip24688 的回复:
exit()   结束当前进程/当前程序/,在整个程序中,只要调用   exit   ,就结束
return()   是当前函数返回,当然如果是在主函数main,   自然也就结束当前进程了,如果不是,那就是退回上一层调用

exit(0)      是非正常退出
exit(1)      是正常退出

在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..   exit(1)表示进程正常退出.   返回   1;   exit(0)表示进程非正常退出.   返回   0



一般是0表示正常退出,非0表示非正常
[/Quote]
do_fork 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 vip24688 的回复:]
exit()   结束当前进程/当前程序/,在整个程序中,只要调用   exit   ,就结束
return()   是当前函数返回,当然如果是在主函数main,   自然也就结束当前进程了,如果不是,那就是退回上一层调用

exit(0)     是非正常退出
exit(1)     是正常退出

在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..   exit(1)表示进程正常退出.   返回   1;   exit(0)表示进程非正常退出.   返回   0

[/Quote]

一般是0表示正常退出,非0表示非正常
vip24688 2009-12-13
  • 打赏
  • 举报
回复
exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束
return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用

exit(0) 是非正常退出
exit(1) 是正常退出

在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值.. exit(1)表示进程正常退出. 返回 1; exit(0)表示进程非正常退出. 返回 0
deng1243 2009-12-13
  • 打赏
  • 举报
回复

if((in=fopen("123.txt","r"))==NULL) //输入文件名
{
printf("cannot open the file");
exit(0);
}
while(!feof(in))
{
putchar(fgetc(in));
}

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧