소스 공유

|  나만의 소스나 나만 알고 있는 좋은 소스를 서로 공유하는 자리입니다.

코드
2018.06.05 19:56

매우 특이한 버그

조회 수 270 추천 수 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]

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

소스 공유

나만의 소스나 나만 알고 있는 좋은 소스를 서로 공유하는 자리입니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
44 코드 [오토핫키] 특정 사이트에 대한 ping 테스트 결과를 실행시간과 함께 로그 파일로 저장하는 스크립트 2 이니스프리 2018.09.22 359
43 코드 [Python] 모 정부기관 사이트 파싱 후 PC 통신처럼 열람하고 싶은 게시글 번호를 입력하면 내용을 보여주는 소스 (허접) 4 이니스프리 2018.09.14 221
42 코드 파이선 셸에서 실행하면...? 3 title: 애프터 이펙트제르엘 2018.07.22 282
41 코드 C언어 삼중자를 이용한 코드 title: 황금 서버 (30일)humit 2018.07.22 159
40 코드 폰트를 자동 설치하는 코드 1 네모 2018.07.16 220
39 코드 잘못 쓰면 컴퓨터가 날아가는 코드 25 title: 애프터 이펙트제르엘 2018.07.08 429
» 코드 매우 특이한 버그 9 gimmepoint 2018.06.05 270
37 내가 만든 merge sort 3 gimmepoint 2018.05.17 195
36 코드 내가 만든 함수 모음집 2 gimmepoint 2018.05.12 143
35 코드 내가 만든 사칙연산 계산기 gimmepoint 2018.05.11 204
34 코드 내가 만든 함수 모음집 4 gimmepoint 2018.05.08 125
33 코드 클라이언트단에서 이미지 리사이징 6 file 네모 2018.05.06 276
32 코드 HEX를 RGB로, RGB를 HEX로 바꾸는 PHP 코드 1 네모 2018.05.05 164
31 코드 c 이진트리 전,중,후위 알고리즘 2 gimmepoint 2018.04.24 230
30 코드 html 초보가 만든 자소서 4 gimmepoint 2018.04.21 276
29 코드 Hello, World!를 출력해보자 18 네모 2018.04.21 280
28 코드 아주 간단한 기초 C++ 6 title: 애프터 이펙트제르엘 2018.04.21 211
27 코드 미완성 받아쓰기 (C) gimmepoint 2018.04.20 123
26 코드 Cmd 에서 서비스 시작 / 종료하기 1 ProjectSE 2018.02.18 367
25 자료 아주 간단한 기초 c언어 5 hillasen 2018.02.17 259
목록
Board Pagination Prev 1 2 3 4 Next
/ 4
서버에 요청 중입니다. 잠시만 기다려 주십시오...