일단 main 함수를 호출할때 main만 쓰지마시고 리턴값을 명시해주세요.
ex) void main( int argc, char* argv[] ) { ... }
(이는 C++ 컴파일러가 함수의 타입채킹을 C보다 더 철저히 하기때문입니다.)
그리고 %s는 문자열을 출할때 사용합니다.
민기님처럼 인자값을 받아서 스트링을 출력할때는 인자값을 줄때 따옴표를 잊지 않으셔야 합니다.
ex) program1 "안녕 하세요!"
띄어쓰기가 없을때는 몰라도 띄어쓰기가 있을경우 제대로 출력되지않습니다.
main 함수의 argv[] 인자는 띄어쓰기 단위로 입력됩니다.
ex)잘못된 경우
program1 안녕 하세요? <-- 이럴경우 "안녕"만 출력됩니다.
김민기 님이 쓰신 글 :
: #include <stdio.h>
: main (int argc, char* argv[]
: {
: if (argc != 2)
: {
: printf("error : usage is invalid\n");
: printf("usage : program1.exe name\n");
: }
: else {
: printf ("%s 님 안녕하세요...\n", argv[1]);
: }
: }
:
: 입니다. 메이크후 나오는 메시지는 밑과 동일합니다.
: exe 가 생성 안되고요. CPP 입니다.
:
: 또 질문 하나 드려도 될까요.. printf 에서 %S 가 무엇인가요?
:
:
:
:
: 남병철.레조 님이 쓰신 글 :
: : 파일 확장자가 .c 파일인가요?
: : 그리고 main() 처럼 단순화시킨 main을 사용하지는 않은가요?
: : 윈도우로와서는 .cpp 확장자를 사용하지 않았나요? main()을 쓰면서...
: : cpp 파일을 컴파일 할때는 기본 형태를 지켜야합니다.
: : void main(), void main( void ), void main ( ... ), int main ( ... ) ...
: :
: : 아니라면 좀더 자세한 설명을 해주셔야 하겠네요.. ^^
: : (make파일이나 간단한 테스트 소스를 만들어 보여주신다던지...)
: :
: :
: :
: : 김민기 님이 쓰신 글 :
: : :
: : : 흠 9X 계열에선 잘되던 make가. 윈2천에서 항상 막히네요.
: : :
: : : 책을 보고 공부하는도중 컴파일은 아무 문제없는데 만들때
: : :
: : : lonker warning : no module definition file specitfied : using defaults
: : :
: : : 라고 메시지가 뜹니다.
: : :
: : : 해결방법알려주십시오~
: : :
: : : 또는 윈2천에서도 컴파일 & make 다 잘되는 다르버젼 C라도...
: : :
|