안녕하세요 실수의 1차원배열 질문드려요

조회수 661회
#include <stdio.h>

void main()
{    
    double i, sale[5] = {157, 209, 251, 312, 500};
    for (i = 0; i < 5; i++) {
        printf("\n address:%u sale[%d]=%d", &sale[i], i, sale[i]);
    }
}

이거를

이미지

이런식으로 표현하고싶습니다.

실수 float와 double을 논리적 순서와 물리적 순서를 확인하고싶습니다.

저 코드에서 실수를 뽑으려면 무엇을 바꿔야하나요?

1 답변

  • #include <stdio.h>
    
    int main(){
        int i;
        double sale[5] = {157, 209, 251, 312, 500};
        for (i = 0; i < 5; i++) {
            printf("\n address:%u sale[%d]=%f", &sale[i], i, sale[i]);
        }
    
        return 0;
    }
    

    printf 함수에 들어가는 포맷스트링 %d 는 정수형을 표현하는것입니다. 실수형을 표현하는 %f 로 바꿔주시면 잘 나옵니다.

    -99, -47 등의 값을 보니 byte 타입으로 바뀌어서 overflow 가 나오는것 같은데요. 이 부분은 왜 byte 로 변한건지는 모르겠습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)