#include
int main(int argc,char *argv[]) { while(argc<3) { printf("Input another string:"); scanf("%s",argv[argc]); argc++; } printf("%s %s %s",argv[0],argv[1],argv[2]); return 0; } 이렇게 해서 실행시켰는데 왜 argv[1]에 자꾸 NULL이 출력될까요??
어머 왜 두개가 올라왔지 지울 수도 없는 것 같은데 어떡하죠ㅜㅜㅜㅜㅜㅜㅜ
argv는 프로그램을 처음 실행시킬 때 사용자가 넣은 command line argument를 담는 배열입니다.
프로그램을 시작할 때 아무런 argument도 주지 않았다면 argv[1]은 NULL을 가리킵니다. scanf를 하는 순간 프로그램이 안 뻗은 게 이상하군요.
C에서 문자열과 배열의 사용법을 잘 읽어보시고 배열을 따로 만들어서 사용하세요.
아 그렇군요!! 정말 감사합니다^^
http://lapislazull.tistory.com/39
---------------------------------------------------------------------------- 젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다. 정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
우와 좋은 정보 감사합니다!!!
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
어머 왜 두개가 올라왔지 지울 수도 없는 것 같은데
어머 왜 두개가 올라왔지
지울 수도 없는 것 같은데 어떡하죠ㅜㅜㅜㅜㅜㅜㅜ
argv를 쓰지 마세요.
argv는 프로그램을 처음 실행시킬 때 사용자가 넣은 command line argument를 담는 배열입니다.
프로그램을 시작할 때 아무런 argument도 주지 않았다면 argv[1]은 NULL을 가리킵니다. scanf를 하는 순간 프로그램이 안 뻗은 게 이상하군요.
C에서 문자열과 배열의 사용법을 잘 읽어보시고 배열을 따로 만들어서 사용하세요.
아 그렇군요!! 정말 감사합니다^^
아 그렇군요!!
정말 감사합니다^^
이런것도 있네요.
http://lapislazull.tistory.com/39
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
우와 좋은 정보 감사합니다!!!
우와 좋은 정보 감사합니다!!!
댓글 달기