나는 토큰을 궁금해되는 방법 그들은 컴파일러에 의해 평가,하지만 구문 성명이 유효하기위한 필수 토큰으로 공간을 고려하지 않습니다공간 바이너리 또는 단항 연산자의 평가에 미치는 영향
예를 들어.
#include<stdio.h>
int main(){
int first=1,second=3;
int res=first+++++second;
printf("%d \n",res);
return 0;
}
다음과 같은 오류 제공합니다 :
rough3.c:7:17: error: lvalue required as increment operand int res=first+++++second;
을하지만 단순히 두 개의 후위 (++)와 접두사 사이에 ""추가하여 (++) 는 잘 작동하는 것 같다.
#include<stdio.h>
int main(){
int first=1,second=3;
int res=first++ + ++second;
printf("%d \n",res);
return 0;
}
잘 인쇄 값 5 은 내가 알고 싶은이 question보다는 정의되지 않은 동작으로 보았다 작동 :
컴파일러는 표현 사이에 공백이 중복 여부 것을 결정 하는가?
이 표현식을 평가하기 위해 우선 순위와 연관성을 함께 사용하면 어떻게됩니까?
[ "Maxunch]"(https://en.wikipedia.org/wiki/Maximal_munch) 규칙을 참조하십시오. – molbdnilo
이것은 복제본입니다. 이 질문은 이번 주 초에 요청되었으며 다른 질문의 사본으로 마감되었습니다. –
@molbdnilo 감사합니다. – OldMontMonk