아래 첨부된 코드에서

for(i=0;i<8&&scanf("%d",score+i);sort[i]=score[i],i++);//이부분

요 부분을 보면, i<8&&scanf("%d",score+i);sort[i]=score[i] 이게 있잖습니까?

이게 어떤 원리로 돌아가는 겁니까? ㅠㅠ...


질문1) scanf("%d",score+i); 이게 &가 없이도 되는 것인지...???

질문 2)i++ 직전에 sort[i]=score[i]이건 저부분에 넣어도 상관이 없는건지...??


for문은 분명... for(시작,종료,반복) 이라고 배운 것 같은데... 고수님들 코드보면 제가 잘못 배운 것 같기도 ㅠ.ㅠ

lsc4719   10달 전

for(시작;종료;반복)

시작 : i = 0

종료 : i < 8 and scanf()함수가 인풋을 하나 이상 받았을 경우 반복문 진행

반복 : score[i] 변수를 sort[i] 변수에 assign한 뒤, i를 1증가시킨다.

시작, 종료 그리고 반복 이 세 부분에 각각 하나의 expression이 올 수 있다고 알고 있습니다.

하나 이상의 comma(,)로 구분된 하나의 expression은 evaluate되면 가장 오른쪽의 값을 return합니다.

expression과 evaluation에 대해 찾아보시면 궁금증이 풀리실 것 같습니다.

댓글을 작성하려면 로그인해야 합니다.