2012-07-24 3 views
6

내가 이렇게하면 : count = ++ count; 경고받는 이유 - 변수 개수에 대한 할당이 효과가 있습니까? 이것은 count가 증가 된 다음 자신이나 다른 것에 할당된다는 것을 의미합니까? 그냥 ++ 카운트와 같은가요? count = count ++에서 어떤 현상이 발생합니까? ? 왜 내가 이걸 경고하지 않니?변수에 대입해도 아무 효과가 없습니까?

답변

13

count++++countcount=count+1에 대해 모두 짧습니다. 과제가 내장되어 있으므로 과제를 다시 할당 할 필요가 없습니다. count++의 차이는 ++count은 행의 나머지 전에 일어날 것이며, count++은 행의 나머지 이후에 발생할 것입니다 (또한 접두사라고도 함)와 ++count (또한 후위으로 알고있다). 당신이 떨어져 count=count++을한다면

,이로 끝날 것 : 후위 당신에게 경고를하지 않을 이유

count = count; 
    count = count+1; 

지금 당신이 볼 수 : 뭔가 일이 실제로 마지막에 변경되고있다. 당신이 떨어져 count=++count을 경우

,이로 끝날 것 :

count = count+1; 
    count = count; 

당신이 볼 수 있듯이, 코드의 두 번째 라인은 쓸모이며, 컴파일러는 당신을 경고하고 그 이유는.

+0

나는 짧고, 동일하지 않았다. – LastStar007

+1

맞아요. 당신이 그 주석을 만들었을 때 답이 좀 더 짧았습니다 (표현식이 반환 한 값을 참조하십시오). +1 –

+0

왜 count = count ++ 예제의 첫 번째 줄에 대한 경고를 사용하지 않았습니까? 그게 아무것도하지 않기 때문입니다. – Thomas

3

당신이 기본적으로 작성까지 문 속보 :

++count; 
count = count; 

당신은 = 계산 볼 수있는 수는 아무것도, 따라서 경고를하지 않습니다.

3

++ 연산자는 다음 count = count + 1의 바로 가기입니다. 우리가 당신의 전화를 끊으면 는 count = count+1 = count

3

으로 약간 증가하면 count ++가 후위입니다. 당신이 0이 될 것이다

int a = 0, b = 0; 
a = b++; 

같은 것을, b는 그러나 1. 것이다 않았다면, 그래서 그것은 다른 작업 후 발생, ++ 계수는

int a = 0, b = 0; 
a = ++b; 

다음 A와 B를 한 경우 접두사입니다 그냥

count++; 

또는

++count; 
을 할 경우 모두 1이 될 것이다

그 때 그것은 중요하지 않다, 그러나 당신이 다른 것으로 그것을 결합하고있는 경우에, 그것은 일 것이다

관련 문제