argc, argv를 이용한 간단한 사칙연산.
<code su.c>
1 : #include <stdio.h>
2 : #include <stdlib.h>
3 : void main(int argc, char *argv[]){
4 : int m = atoi(argv[1]); //argv[1]에 들어온 수를 m에 저장
5 : int n = atoi(argv[3]); //argv[3]에 들어온 수를 n에 저장
6 ;
7 : int j = *argv[2]; //argv[2]에는 부호가 들어감
8 : /*int j = argv[2][0]; 으로 해도 된다 */
9 : int result;
10 : if(j == 43) //43은 '+'의 아스키 코드값
11 : result = m + n;
12 : else if(j == 45)
13 : result = m - n;
14 : else if(j == 47)
15 : result = m / n;
16 : else if(j == 42)
17 : result = m * n;
18 :
19 : printf("result = %d", result); //결과값 출력
20 : }
컴파일, 링크 -> su.exe 생성
<result>
c:/>su 20 + 50
result = 70
<main(argc, argv)>
1. 형식
main(int argc, char *argv[]) 또는
main(int argc, char **argv)
2. argc ( argument count)
ex > command 창에서 실행
del chungha.doc <- 2마디, argc = 2
copy chungha.doc my.doc <- 3마디, argc = 3
마디의 구별 : 공백, tab 문자
3.argv(argument vector)
argument로 넘어온 각 단어의 번지수.
argv[0] => 완전한 경로명과 함께 file 의 이름 가짐.