코드
2018.06.05 19:56

매우 특이한 버그

조회 수 569 추천 수 1 댓글 9
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
라이선스 GPL v2

#include<stdio.h>
 
int main()
{
    int i,j;
    int a[10][11];
 
    for(i=0;i<10;i++)
        for(j=0;j<11;j++)
            scanf("%d",&a[i][j]);
 
    for(i=0;i<10;i++)
    {
        int safe = 0;
 
        printf("a[10][%d] = %d\n",i,a[i][-3]);   /// 여기
 
        if(a[i][10] == 1)
        {
            safe = 1;
            printf("%d exist \n",i+1);
 
            for(j=10;j>=0;j++)
            {
                if(a[i][j] != 0)
                {
                    printf("%d died\n",i+1);
                    if(a[i][j] > 0)
                        printf("%d crash\n",i+1);
                    if(a[i][j] < 0)
                        printf("%d fall\n",i+1);
                    safe = 0;
                    break;
                }
            }
        }
 
 
        if(safe == 0)
            continue;
        printf("%d safe\n",i+1);
    }
}


http://codeup.kr/JudgeOnline/problem.php?id=1509 

코드업 - 진격 후 결과


코드업 - 진격 후 결과


이 프로그램을 만들고 있었는데 버그가 나서 위 주석 달아늫은 printf 문에서 시험을 하고 있었는데 놀랍게도 대각선으로 출력이 되는듯이 출력이 되었습니다. 그래서 지우고 다시썻는데 말끔히 사라지더군요. 왜 그랬을까요?(참고로 codeblocks 씁니다) 

TAG •
  • profile
    네모 2018.06.06 17:00

    C에서 배열인덱스를 음수값으로 해서 접근이 가능했었나요...?
     
    a[i][-3]

  • ?
    title: 대한민국 국기gimmepoint 2018.06.06 18:00
  • ?
    포인트 폭탄+ 2018.06.06 18:00
    gimmepoint님 축하합니다.
    추가로 200포인트만큼 포인트 폭탄+를 받았습니다.
  • ?
    title: 대한민국 국기gimmepoint 2018.06.06 18:00
    버그인가?
  • profile
    네모 2018.06.06 18:05
    그러네요. 확인해보니 초기화가 되어 있으면 접근 가능하다고 되어 있군요....
    오류의 원인이라고 하면 [-3]이 초기화 되어 있지 않은것 때문이 아닐까 싶습니다.
  • profile
    title: 황금 서버 (30일)humit 2018.06.07 18:00
    컴파일러마다 동작이 달라지겠네요.
    컴파일러에서 배열을 연속으로 배정하지 않을 수도 있으니까요.
  • ?
    title: 대한민국 국기gimmepoint 2018.06.07 18:02
    그런가요?
  • profile
    title: 황금 서버 (30일)humit 2018.06.07 18:27
    아 배열은 연속적으로 할당할 수밖에 없겠네요. 다만 변수 사이의 패딩(?)이 어떻게 할당 되느냐와 쓰래기 값이 어떻게 되어 있느냐에 따라 달라지겠네요
  • ?
    title: 대한민국 국기gimmepoint 2018.06.07 18:32
    그렇군요

  1. 폰트를 자동 설치하는 코드

  2. 파이썬을 이용한 텔레그램 새 글 알림 (허접합니다)

  3. 파이선 셸에서 실행하면...?

  4. 클라이언트단에서 이미지 리사이징

  5. 컴퓨터의 uuid 얻기

  6. 잘못 쓰면 컴퓨터가 날아가는 코드

  7. 이게 팔릴까 - Xe/라이믹스 에러페이지 [2017-10-04]

  8. 유튜브에 약간의 기능을 추가 해주는 크롬 확장 프로그램.

  9. 엑셀파일 불러서 히스토그램 그려주는 함수

  10. 엑셀 읽어서 그래프 그려주는 함수

  11. 아주 간단한 기초 C++

  12. 소셜XE / 기존 통합 로그인 스킨 V2.2

  13. 세린서버에서 시도중인 백업 스크립트 입니다.

  14. 새 글 자동 댓글 스크립트 (AutoHotkey)

  15. 사이트 서버 이전 (또는 미러링 사이트 구축) 쉽게하는 스크립트

  16. 브라우저 언어에 따라 다른 폴더를 사용하는 PHP 코드

  17. 미완성 받아쓰기 (C)

  18. 매우 특이한 버그

  19. 링크 파싱 애드온용 스킨 (트위터 스타일)

  20. 도박 중독자를 위한 광고 차단 규칙

Board Pagination Prev 1 2 3 4 Next
/ 4