2014-01-21 3 views
-1

증가 - 감소

void main() 
{ 
    int i=2,j=4; 
    i=+++i+j; //is not an error 
    i=---i+j; // is a L-value required error.. 
} 

사람이 구체적으로 다수의 증가 및 감소 뒤에 개념을 설명하시기 바랍니다 수 있다면 ..

+2

... 읽을 수없는 코드 작성의 개념을 설명하십시오. –

+0

이러한 여러 증가 및 감소로 무엇을 할 계획입니까? – ccozad

+0

읽을 수없는 코드를 작성하는 것에 대해 유감스럽게 생각하지만 ...이 질문의 맥락에서 나를 설명해 주시겠습니까? –

답변

0

나는 파서가 원하는 형식으로 구문 분석 할 수 없습니다 생각 그럴거야. 아래와 같이 괄호를 사용해보십시오. 그것은 효과가있을 것이다.

i = - (- i) + j;

+0

질문은 첫번째 연산자가 작동하는'-' 연산자와'+'연산자가 다른 점입니다. – woolstar

+0

정확히 선생님 .. 제 1 이유가 왜 작동하는지 제발 설명해 주시겠습니까? –

+0

두 경우 모두 프로그램이 정의되지 않은 동작을 나타내며 결과물이 될 수 있습니다. 1. main은 무효가 아닌 int를 반환해야합니다. C에서 void 반환은 모든 컴파일러가 코드를 이식 가능하게 만드는 것을 지원하지 않는 확장 기능입니다. C++에서는 정의되지 않은 동작입니다. 2. 두 경우 모두 하나 이상의 변수 값을 변경하는 시퀀스 포인트간에 변수가 두 번 이상 액세스 할 수 없다는 것을 지정하는 표준 부분이 손상됩니다. 표준은 그러한 경우 행동이 정의되지 않을 것이라고 말합니다. 웹에서 시퀀스 포인트 및 정의되지 않은 동작을 살펴 보시기 바랍니다. – Saurabh