올해 컴공과 신입인데
존나 c언어 기초적인것 좀 물어볼게ㅠ
int a =1,x=0;
if(x = a||(a+=1))
printf("%d %d", x, a);
여기if문에서 (x= a ||(a+=1))
이거 있잖아
논리합이 = 보다 우선순위가 더 위니까
x에 a또는 a+1 을 대입한다.
이렇게 해석하는해야 맞는거 아니야?
논리합의 좌우를 먼저 연산해야되니까
(a또는 a+1) 이렇게 말이야...
정리하면 (x =(a||(a+=1))
내가 생각하는게 틀리니까
출력값이 1,1 이 나오는거겠지만...
더럽게 헷갈리네.ㅠㅠ 해석 좀 해줘영,ㅠㅠ
뭐냐저건
if문괄호 안에는 조건 검사할 새기가 들어와야지 연산이 들어오면 어쩌냐
ㄴ 요게 시험문제임 여기에다 뭐 출력되는지 물어봄ㅠ
if 문 괄호 안에는 expression 이면 아무거나 됨 , 조건 검사할 새기가 뭘 지칭한건진 모르겠지만
x 에 a를 대입하거나 a += 1 한걸 대입하거나 , 해서 if문은 무조건 수행되겠네
니가 생각하는게 맞아야 1, 1이 나오지 돌대가린가
ㄴ 그러네 ㅋㅋㅋㅋ 아ㅋㅋ단축평가 때문에 a+=1 은 씹어먹지.ㅋㅋ 개ㅄ 호구짓했네..ㅋㅋ 진짜 돌대가린가봐ㄲㄲ 어쨌든 고마워.ㅋ