안녕하세요...

프로그래머를 꿈꾸는 꼬꼬마입니다.

오늘 공부하다가 궁금한게 생겨서 그런데.. 도무지 모르겠어서 올립니다.

java 로 짜여진 소스는

public static void main(String[] args)
 {
  int x = 0;
  int y = 0;
  
  while(x<5)
  {
   if(y<5)
   {
    x = x++;
    if(y<3)
    {
     x= x--;
    }
   }
   y = y+2;
   System.out.println(x + \" \" + y + \" \");
   x = x + 1;
  }
 }
입니다. 돌아가면 콘솔창에 출력이

0 2
1 4
2 6
3 8
4 10

이 나옵니다.  하지만 c 로 돌릴경우

0 2
1 4
3 6
4 8
 
로 나오는데 어떤것때문에 그런지 알려주세요..

if 문 차이인지 while 문 차이인지 도무지 모르겠습니다.

손으로 풀어봐도 ... c로 돌린것같은 경우가 나오는데

java 에서는 저렇게 답이 나와버리니 ㅠㅠ

프갤 횽님들 꼭 알려주세요~ ㅠㅠ

추가 입니다----------------------------
#include <stdio.h>
void main() 
 {
  int x = 0;
  int y = 0;
  
  while(x<5)
  {
   if(y<5)
   {
    x = x++;
    if(y<3)
    {
     x= x--;
    }
   }
   y = y+2;
   printf(\"%d    %d\\n \",x,y);
   x = x + 1;
  }
 }
지금 고민해본결과 객체지향과 절차지향의 차이인듯 한데...
자세히 모르겠네요 ㅠㅠ