별거 다해봤는데 안되네요..
벤자민
질문 제목 : 으아아악;;;exit가 제데로 안됨질문 내용 : exit 를 써도 안되는 이유가 뭘까요?
소스:/* include */
#include stdio.h
#include stdlib.h
/////////////////////////////
#define b exitint main(void)
{
start:
//start of main
char a[100];
printf(\n);
printf(명령어 입력:);
scanf(%s,&a);
printf(\n);system(a);if(a!=b)//exit명령어가 아니면
{
goto start;
}
else
{
exit(1);
}
}//end of main
-
희1미햬
제가 써놓고도 그걸 안고쳤네요^^;;;;
-
비
문자열의 비교는 strcmp를 사용해야 됩니다.
-
큰나래
위에 쓴대로 코드를 바꿔보자면 아래처럼 됩니다
------------------------------------------------------
/* include */
#include stdio.h
#include stdlib.h
/////////////////////////////
#define b \exit\
int main(void)
{
\tchar a[100];
start:
//start of main
\tprintf(\\\n\);
-
세찬
1. 코드를 보면 label 아래에 변수 선언이 되어있습니다.
이럴경우 if문에서 goto문을 이용해 start로 점프를 할 때 마다 a라는 배열이 계속 선언을 하려고 하겠죠???
2. scanf의 두번째 파라미터로 &a가 들어가있는데
배열의 경우 배열의 이름 자체가 주소값이기 때문에 주소연산자가 필요 없습니다
3. if문에서 문자열끼리 != 로 비교를 하셨는데요,
C에서 문자열은 ==나 !=로 비교할 수 없습니다.
비