입력받은 파라미터 argv[1]을 int a에 대입할수없나요????
글쓴이: xoduddk123 / 작성시간: 월, 2013/10/21 - 5:13오후
프로그램을 만들고 있는데요
파라미터를 입력안받으면 10초동안 for문을 실행하고
파라미터를 입력받으면 입력받은 파라미터 숫자만큼 해당초동안 for문을 실행하려고하고있습니다.
int main(int argc, char* argv[]){
if(argc == 1){
a = 10;
printf(" a = %d\n",a);
printf(" AUTO = 10초 프로그램");
goto FOR;
}
a=(int)argv[0];
printf(" a= %d", a);
FOR:
for(i=0; i
내용
}
대충 이런식으로 프로그래밍을 했습니다 .
만약 파라미터가입력이 안되면 a=10을 대입하고 goto문을 이용하여 for문으로넘어가서 10초동안 실행하게 프로그래밍하였습니다.
만약 파라미터가 입력이되면 a=(int)argv[1]; 이렇게 정수 a에 파라미터를 대입해서 for문을 돌릴려고하는데 오류가 나서되지않습니다.
실행이 안되다기보다는 바로 아래의 printf문으로 a의 값을뽑아보면 -1090623546 이러한 값이 나와서 제 의도대로 프로그램이 돌아가지않습니다
이러한 경우에는 어떻게 처리를 해야하나요 ??
Forums:
글 아래부분이 짤려서 댓글로 첨부합니다 ㅠㅠ
대충 이런식으로 프로그래밍을 했습니다 .
만약 파라미터가입력이 안되면 a=10을 대입하고 goto문을 이용하여 for문으로넘어가서 10초동안 실행하게 프로그래밍하였습니다.
만약 파라미터가 입력이되면 a=(int)argv[1]; 이렇게 정수 a에 파라미터를 대입해서 for문을 돌릴려고하는데 오류가 나서되지않습니다.
실행이 안되다기보다는 바로 아래의 printf문으로 a의 값을뽑아보면 -1090623546 이러한 값이 나와서 제 의도대로 프로그램이 돌아가지않습니다
이러한 경우에는 어떻게 처리를 해야하나요 ??
argc를 이용해 인수의 개수를 확인하시면 됩니다.
argc를 이용해 인수의 개수를 확인하시면 됩니다.
잘이해가 안됩니다.
argc는 입력받은 파라미터의 개수로 알고있습니다
만약에 제가 프로그램을
./a.out 50 으로 실행을 한다면
이 50이라는 숫자들 a에다가 집어넣어서 해당 숫자만큼 for문을 실행하고싶습니다.
./a.out 는 파라미터가 입력이 안된 경우고,
./a.out 는 파라미터가 입력이 안된 경우고, ./a.out 50 은 파라미터가 입력이 된 경우를 뜻하시는것 아닌가요?
다음과 같이 작성하시면 될 것 같습니다.
해결했습니다.
덕분에 프로그램이 잘 동작하는거같습니다
printf 문으로 a의 값을 출력해봐도 정상적으로 출력되는것을 보았습니다.
정말 감사합니다 !!!
0번째 인자는 프로그램명 아닌가요?
a=(int)argv[0];
부분을
a = atoi(argv[1]);
로..
댓글 달기