커뮤니티 게시판
:
아주 기본적인 네티켓만 지킨다면 자유롭게 쓸 수 있는 커뮤니티 게시판입니다. 포럼에서 다루는 주제는 각각의 포럼 게시판을 우선 이용해 주시고, 민감한 소재는 비공개 게시판이나 수상한 게시판에, 홍보는 홍보/외부 사용기 게시판에 써 주세요. 질문은 포럼 게시판의 질문/토론 카테고리를 사용해 주세요.
퍼온글
2016.08.17 17:52
로봇이 반란을 일으킨 이유.jpg
조회 수 845
댓글 21
-
== =v=....
-
에....개발 가능하신 분의 해석 좀 부탁 드려요. 개발자만 알아먹을 수 있는 개그라니....
-
?
C/C++ 언어는 동등비교를 == 으로 하고 변수에 값을 부여하는 대입연산을 = 으로 합니다.
거기다가 대입연산의 전체결과가 부분식으로서 다시 활용될 수 있기 때문에
isCrazyMurdingRobot = true 라는 대입식은 항상 참이 되고 사람과 교류하면서 (interact_with_humans) 항상 죽이게 되죠. (kill) -
저도 최근에 C언어를 깔작거리면서 저 구문 안에서 변수 설정이 가능하다는 것을 알게 되었지요. 그래서 올려봤습니다.
-
?
=, == 이 문제죠 ㅎㅎ
-
C에서 if 문을 쓸 때엔 상수를 앞에 쓰는 버릇을 들여야...
-
?
요다 컨디션..
-
상수를 뒤에 써도 '==' 를 '=' 로 잘못쓰면 컴파일러가 경고해 줍니다.
-
?
그건 컴파일러, 그리고 컴파일러 옵션 하기 나름입죠. 게다가 if문 내에서 진짜로 저런 연산을 하는 사람이 없는 것도 아니고 C언어는 프로그래머를 믿는 게 기본인 언어인지라...
gcc 5.4.0 기본설정 기준 경고 안해주네요.
piloteer@piloteer-Desktop:~/test$ cat test.c
#include <stdio.h>
int main(){
int a = 1;
if (a = 2) {
printf("aah");
}
}
piloteer@piloteer-Desktop:~/test$ gcc test.c
piloteer@piloteer-Desktop:~/test$ ./a.out
aahpiloteer@piloteer-Desktop:~/test$
그리고 프로젝트가 커지면 경고 한두개쯤은 그다지 중요하지 않다 싶으면 무시하는 경우도 많아서.. 뭐, 저런 건 무시하면 안 되는 부분이지만요. -
중요한 프로젝트는 항상 -Wall 옵션을 사용 중 입니다.
커밋 전에 모든 경고 확인하고 꼭 필요한 경우에만 개개별로 disable 합니다. -
휴먼 에러 가운데 막을 수 있는 건 막아야죠.
현업 16년차로서 저런 일은 안 생기도록 습관 들이는 게 좋다고 생각해요. -
경고수준을 평소보다 높게 설정해야 경고가 뜹니다. 왜냐하면 고의로 if에서 대입을 쓰는 경우도 있기 때문이죠.
이런 코드는 생각보다 자주 나옵니다. 예를 들면 이런 코드죠.
if( HANDLE handle = getHandle( resource ) ) {
// process using handle
}
else print_error( ERROR_NO_HANDLE ); -
?
Dennis M. Ritchie 의 실수로 봐야 하는 것인지... 뭐, 그 사람이 처음부터 만든 것도 아니긴 하지만...
하여간 C 는 저런 형태를 즐기는 방향으로 만들어졌죠. 특히 반복판단에서 그렇죠.
동시대에서 찾을 수 있는 대척점은 Pascal 로 알고 있습니다.
누가 성공했냐는 물론 결과를 보면 알 수 있지만 Pascal 은 Object Pascal - Dephi 에서 C# 까지 그 향취가 남아 있다고 볼 수 있습니다. -
?
우오옹 그런 방법이
-
I am not human 명령어를 계속 브로드캐스트 하는 비콘을 개발해야겟네요
-
해석하면 항상 로봇이 미친다 = 참 / 사람과 교류를 함? = 참 / 사람 죽임......
-
히이이익...
-
?
애초에 kill함수를 왜 만든 거야...
-
프로그래밍을 알아야 개그를 이해하는 세상..
-
요즘 저런거 warning 띄워주는데;
그리고 warn to error option은 build 옵션에서 필수죠. -
가끔 프로시저 짜다가 소스 짜다보면 종종 저런짓을 하고 있습미다...
다행히 컴파일러가 잡아줘서 다행......
작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
14629 | 퍼온글 | [욕설주의] 주겔러의 부산 운전 후기 29 | 낄낄 | 2016.08.09 | 35649 |
14628 | 퍼온글 | 가챠 돌릴 때 배경음악으로 깔아야 하는 곡. 7 | 아스트랄로피테쿠스 | 2016.08.09 | 1084 |
14627 | 퍼온글 | 치킨은 귀엽습니다. 13 | u | 2016.08.09 | 518 |
14626 | 퍼온글 | 이분 금캐러 가실듯 7 | BREITLING | 2016.08.10 | 850 |
14625 | 퍼온글 | CPU 깎는 장인.jpg 22 | 쮸쀼쮸쀼 | 2016.08.10 | 1168 |
14624 | 퍼온글 | 중2때를 기억해 보자(feat.식품의약품안전청) 7 | 세상나래 | 2016.08.10 | 540 |
14623 | 퍼온글 | 음악 한곡 듣고 꿀잠 자세요. 4 | Hack | 2016.08.12 | 397 |
14622 | 퍼온글 | 기묘한 자세의 고양이 7 | 낄낄 | 2016.08.15 | 798 |
14621 | 퍼온글 | 말이 안 되는 건 안 믿어야 해요 9 | 낄낄 | 2016.08.15 | 491 |
14620 | 퍼온글 | 고양이를 설득해보았습니다. 9 | 퀘윈 | 2016.08.15 | 648 |
14619 | 퍼온글 | 물먹다가 잠든 고양이 7 | u | 2016.08.16 | 469 |
14618 | 퍼온글 | 역씌 자본주의다 3 | BREITLING | 2016.08.16 | 484 |
14617 | 퍼온글 | 웜즈 레펠마스터 8 | BREITLING | 2016.08.17 | 437 |
» | 퍼온글 | 로봇이 반란을 일으킨 이유.jpg 21 | 쮸쀼쮸쀼 | 2016.08.17 | 845 |
14615 | 퍼온글 | 아이가 타인의 맥북에 커피를 쏟았어요 31 | BREITLING | 2016.08.17 | 2468 |
14614 | 퍼온글 | 용산식 유머.twitter 19 | 쮸쀼쮸쀼 | 2016.08.18 | 651 |
14613 | 퍼온글 | 밑에 용산식 유머가 있길래 10 | 순딩sheep | 2016.08.18 | 648 |
14612 | 퍼온글 | Elena Eremina의 고슴도치 사진 4 | 낄낄 | 2016.08.19 | 446 |
14611 | 퍼온글 | 드물게 보는 정육점 기사 7 | 향군 | 2016.08.19 | 2226 |
14610 | 퍼온글 | 햄버거 만드는 동영상.avi 10 | 낄낄 | 2016.08.19 | 785 |