Backend/C

argc, argv를 이용한 간단한 사칙연산.

petitCoding 2012. 4. 12. 10:20

<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 의 이름 가짐. 

반응형

'Backend > C' 카테고리의 다른 글

Call by value & call by reference  (0) 2012.04.12
문자열의 길이를 계산하는 두 가지 방법  (0) 2012.04.12
strcpy()함수  (0) 2012.04.12
파일을 여러 가지 모드로 열기  (0) 2012.04.12
Hello, World!  (0) 2012.04.12