exit(0)을 이용한 예제
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
int a,b;
float c;
char oper;
char imsistr[10];
if (argc!=4)
{
printf("I need three parameter\n");
exit(0);
}
a=atoi(argv[1]);
b=atoi(argv[3]);
oper=argvp[2][0];
switch(oper){
case '+':c=a+b;
break;
case '-':c=a-b;
break;
case '*':c=a*b;
break;
case '/':c=(float)a/b;
break;
default:printf("bad operator \n");
exit(0);
}
printf("result is %f\n",c);
}
exit(1)을 이용한 예제
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
char buffer[80];
FILE *stream;
if(argc<=1){printf("I need parameter\n");
exit(1);
}
stream=fopen(argv[1],"rt");
if(stream==NULL){printf("FIle open error\n);
exit(1);
}
while (!feof(stream)){
if(fgets(buffer,80,stream)==NULL)break;
printf("%s",buffer);
}
}
exit(0)을 쓸때와 exit(1)을 쓸때 데이타 값이 똑같은데 무슨 차이점 있나요? 부탁드립니다
첫댓글 이게 뭐래요??? C언어 손놓은지가 벌써...1년이 넘었내...
exit함수는 프로그램 종료를 하는데..프로그램이 종료되면 프로그램의 제어권은 운영체제로 반환됩니다. 그때 exit(1)은 에러로 인한 종료, exit(0)은 정상종료를 뜻하게 됩니다. 또한 각각 EXIT_SUCCESS, EXIT_FAILURE 로 미리 정의되어있기 때문에 사용가능합니다. 이것은 exit뿐 아니라 return 에서도 사용 가능합니다.