본문 바로가기

Programming/C/C++

C/연산순서에 관한 예시

반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main() {
    int a=2,b=3,c=4,d;
    d = a*b+>= 8&& c/-!= 0;
    
    // Test code
    // int f;
    // f = 8&& c/a-b;
    // printf("%d\n",f);
    
    printf("%d",d);
    return 0;
}
cs


연산과정


d의 연산순서를 크게 따지면 a*b+c >= 8, c/a -b != 0 

이렇게 논리연산자를 기준으로 나눌수있다.

이렇게 나눠논 연산자의 우선순위는 산술연산의 우선순위가 높으므로 

산술연산자인 * / % + - 를 먼저 연산하고 관계연산자를 연산한다.


a*b+c 를 먼저 연산하면, 10

c/a -b 를 먼저 연산하면, -1

이후 관계연산자를 연산하도록한다.

10 >= 8과 -1 !=0를 연산하면,

각각 1,1이다.


마지막으로 논리연산자를 연산하도록한다.

1 && 1의 논리연산은 참이므로 d의값은 1이된다.


참고

https://www.jdoodle.com/c-online-compiler

C 언어를 온라인으로 돌려볼 수 있는 온라인 컴파일러


 

반응형

'Programming > C/C++' 카테고리의 다른 글

C++/접근지정자  (0) 2017.10.22
C++/소멸자  (0) 2017.10.22
C++/예제/클래스/ Rectangle 클래스 만들기  (0) 2017.10.22
C++/컴파일러에 의한 생성자 자동생성  (0) 2017.10.22
C/C언어의 유래  (0) 2017.08.28