반응형
    
    
    
  | 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+c >= 8&& c/a -b != 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 |