급!! 알고리즘 문제를 풀다가 궁금해진 한 가지 의문점.
for문에서 지역변수를 두 개 선언하고 싶은데, 가능할까??
사실 답이랑 관련 있는 문제는 아니었고, 순수한 호기심으로 C++ 놀이터에서 탐구해보았다!!
#include <iostream>
using namespace std;
int main () {
for ({int i=0; int j=0;}; i < 5 && j < 5; {j++; i++} ) {
cout << 'i' << i << endl;
cout << 'j' << j << endl;
}
return 0;
}
이전에 중괄호가 여러 줄을 쓰면서 한 실행환경을 만들어준다고 알고 있어서 요로코롬 작성해봤다.
그런데 for 문이라는 특별한 상황 내라서 안 될 것 같았고, 숨 참고 실행을 눌렀는데,,,
역시나 실패했다!! ㅎㅎ
그래서 구글링을 통해 찾아냈다... 그런데 정말 허망했다...
#include <iostream>
using namespace std;
int main () {
for (int i=0, j=0; i < 5 && j < 5; j++, i++ ) {
cout << 'i' << i << endl;
cout << 'j' << j << endl;
}
return 0;
}
변수의 선언과 초기화할 때, ' , '로 나누어서 해도 되었다는 점!
심지어 알고 있었다는 점! 뭔가 for문은 다를 거라고 생각했다.
#include <iostream>
using namespace std;
int main () {
int i=0, j=0;
i++, j++;
cout << "i : " << i << endl << "j : " << j;
return 0;
}
다음에서 RunJS로 반복문 내에서 두개 이상의 변수를 선언 가능한지 확인해보았다.
C++과 동일하게 for문 조건문 내에서 선언과 증감식이 ' , '로 구분하여도 동일하게 작동한다.
for (let i=0, j=0; i < 5 && j < 10; i++, j+=2) {
console.log("i입니다 : "+i);
console.log("j입니다 : "+j);
}
호오... 결국 문제 풀때 사용하진 않았지만 흥미로운 탐구시간이었다!
다음에 또 올게요...!!!