int main()
{
int var1=4, var2=6;
var2=var2||var1++&&printf("computer world");
printf("%d%d",var1,var2);
getch();
}
인쇄 된 대답은 41입니다.c 논리 연산자를 사용하는 프로그램
질문 :
여기에는 '컴퓨터 세계'가 인쇄되지 않습니다. 우선 순위에 따라 &&
논리 연산자를 계산해야하지만 여기의 동작은 이와 같지 않으며 그 문 뒤에는 var1
값이 증가하지만 증가하지 않아야합니다. 예상 답변은 computer world51
입니다.
이는 적어도 하나 개의 최근 질문의 중복, 이상 가능성이 몇 가지있다 사람. 우선 순위 대 실행 순서의 문제입니다. –
Google에 소스 코드를 붙여 넣기 만하면됩니다. 같은 질문을 가진 여러 사이트를 찾을 수 있습니다. –
[운영자 우선 순위 문제] (http://stackoverflow.com/questions/7212482/problem-with-operator-precedence). 또 다른 하나는 [우선 순위가 낮은 연산자가 먼저 실행하는 이유] (http://stackoverflow.com/questions/12152143/why-lower-precedence-operator-executes-first)입니다. –