Programming/C++

[C] Macro, comp Funtion

OKOK 2017. 3. 29. 10:35

/*------------------------------------------------------------------------------------------

@ Pratice C laguage


Author           : SAM

Created          : 29-03-2017

Modified         : 29-03-2017

Language/ver     : C in MSVS2015


Description     : Practice

KEYWORD : Macro, Constant, Preprocessor


------------------------------------------------------------------------------------------*/


#include<stdio.h>


#define SQUARE(x) x*x

int square(int x);


int main(void) {


int a;


printf("Input a number(int) : ");

scanf_s("%d", &a);


printf("Square of %d : %d\n", a, SQUARE(a + 3));

printf("Square of %d : %d\n", a, square(a + 3));


return 0;

}


int square(int x) {

return x*x;

}



1. macro 는 치환이므로 a+3*a+3 연산이 일어난다 -> 수정 #define SQUARE(x) ((x)*(x))