조건문에서 사람들은 보통 상수를 오른쪽에 놓는다.
C 코드로 예를 들면 아래와 같다.
if(Age == 17) {
// 수행될 문장.
}
==을 =으로 쓰지 않는 한 아무 문제 없는 식이다.
아래와 같은 경우를 생각해보자.
if(Age = 17) {
// 수행될 문장
}
이 역시, 멍청한 컴파일러에게는 아무 문제 없는 식이다.(똑똑한 최신 컴파일러 if 문 안이 무언가 잘못 되었다고 생각하고 자기 의견을 알려준다.)
문제는 우리가 항상 똑똑한 컴파일러를 쓴다는게 아니다.
이런 실수를 줄일려면, 간단한 습관하나만 바꾸면 된다.
상수를 왼쪽에 써보아라.
if(17 == Age) {
// 수행될 문장.
}
아무 문제 없이 잘 작동한다.
if(17 = Age) {
// 수행될 문장.
}
아주 멍청한 컴파일러라도 저정도 문장은 이해하고 에러를 안겨줄 것이다.
당신도 습관을 바꿔보겠는가?? 근데 습관 바꾸는게 생각보다 쉽지 않다~ㅡㅜ
In condition statement, People generally set a constant right side.
For example, C code.
if(Age == 17) {
// Some lines to be executed.
}
If you didn't use = instead of ==, There is no problem.
You can see the other case.
if(Age = 17) {
// Some lines to be executed.
}
Stupid compiler thinks there is no problem. (State of the art compiler might say there is a problem.)
Problem is that you always use state of the art compiler is not true..
Just change your coding style.
Set a constant left side.
if(17 == Age) {
// Some lines to be executed.
}
There is no problem.
if(17 = Age) {
// Some lines to be executed.
}
Even stupid compiler will say there is a problem.
Can you change your coding style?? But, It is hard to change...T.T
C 코드로 예를 들면 아래와 같다.
if(Age == 17) {
// 수행될 문장.
}
==을 =으로 쓰지 않는 한 아무 문제 없는 식이다.
아래와 같은 경우를 생각해보자.
if(Age = 17) {
// 수행될 문장
}
이 역시, 멍청한 컴파일러에게는 아무 문제 없는 식이다.(똑똑한 최신 컴파일러 if 문 안이 무언가 잘못 되었다고 생각하고 자기 의견을 알려준다.)
문제는 우리가 항상 똑똑한 컴파일러를 쓴다는게 아니다.
이런 실수를 줄일려면, 간단한 습관하나만 바꾸면 된다.
상수를 왼쪽에 써보아라.
if(17 == Age) {
// 수행될 문장.
}
아무 문제 없이 잘 작동한다.
if(17 = Age) {
// 수행될 문장.
}
아주 멍청한 컴파일러라도 저정도 문장은 이해하고 에러를 안겨줄 것이다.
당신도 습관을 바꿔보겠는가?? 근데 습관 바꾸는게 생각보다 쉽지 않다~ㅡㅜ
In condition statement, People generally set a constant right side.
For example, C code.
if(Age == 17) {
// Some lines to be executed.
}
If you didn't use = instead of ==, There is no problem.
You can see the other case.
if(Age = 17) {
// Some lines to be executed.
}
Stupid compiler thinks there is no problem. (State of the art compiler might say there is a problem.)
Problem is that you always use state of the art compiler is not true..
Just change your coding style.
Set a constant left side.
if(17 == Age) {
// Some lines to be executed.
}
There is no problem.
if(17 = Age) {
// Some lines to be executed.
}
Even stupid compiler will say there is a problem.
Can you change your coding style?? But, It is hard to change...T.T