[C#]3.반복문 - while과 for
while과 for 자체는 C에서 배웠으니 냅둡시다.
C에서 많은 분들이 봤던거.
while()
for()
이 두녀석은 프로그래밍 언어 어디를 따라가던지, 꼭 따라 붙습니다.
이미 익히 들어 아는 내용이기 때문에, 전 강의와 비슷하게 차이점만 설명하겠습니다.
while(1){}
이 코드를 봅시다.
컴파일이 될까요?
짐작하셨겠지만, 안됩니다.
전 강의인 조건문에서도 if(1)이 안됐었잖아요?
네. 같은이유 때문입니다.
C#에서는 while문의 조건도 값이 아닌 논리값을 줘야합니다.
while(논리값){}
이렇게 들어가야해요!
아하! while(true){}
이렇게 써야되는겁니다!
이 이유에 대해서는 전 강좌를 참조해주세요.
자 다음.
for문입니다
for(1;1;1);
이 코드가 컴파일이 될까요?
C에서는 됩니다.
하지만 C#에서는 안됩니다.
이건 짐작 하셨을겁니다.
이번엔
for(1,true,1);
컴파일이 될까요?
안됩니다.
아니 이번엔 또 뭐가 문제야?
에러창을 봅시다
할당, 호출, 증가, 감소, 대기 및 새 개체 식만 문으로 사용할 수 있습니다. (CS0201) - C:\Users\USER\Documents\SharpDevelop Projects\psdof\psdof\Program.cs:19,8
네. 안되는 이유는
for(*,논리값,*)
*부분에 식을 넣어줘야하기 때문입니다.
에러 메서지에서 처럼 a=5처럼 할당식을 넣어도 되고
어떤 함수를 호출해서 처리를해도 됩니다.
적어도 그냥 값을 넣는 멍청이 짓은 하지 말라고 있는겁니다.
왜 이짓을 할까요?
for(i=0;i<=n;i++)
이라는걸 적을때
for(i;i<=n;i++)
라 적는다면 C에서는 정상작동하지만