c프로그래밍 질문입니다

c프로그래밍 질문입니다

작성일 2023.10.02댓글 2건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요?
c프로그래밍 질문이 있습니다.

#include <stdio.h>
int main(void)
{
printf("%d, %d\n", 011, 022);
return 0;
}

하기와 같이 코드를 치고 실행을 하면

9, 18

이라는 결과가 나오는데 왜 이럴까요?

앞에 0을 뺴고 11, 22로 실행을 하면 예상했던대로 11, 22가 나오는데
앞에 0이 붙어있으니 9, 18이 출력됩니다.
%d면 그냥 10진수 숫자를 출력하는게 아닌가요?
11, 22가 나오는게 아니라 9, 18이 나오는 이유가 무엇일까요?



profile_image 익명 작성일 -

앞에 0를 쓰면 8진수가 됩니다

#include <stdio.h> int main(void) { printf("%d, %d\n", 011, 022); // 8진수를 10 진수로 출력하고 있습니다. printf("%#o, %#o\n", 011, 022); // 8진수로 출력합니다. printf("%d, %#X\n", 0X10, 0X10); //16진수 0X10 을 10진수와 16진수로 출력 return 0; }

profile_image 익명 작성일 -

C 언어에서 정수 상수 앞에 0을 붙이면 8진수로 인식됩니다. 따라서 011은 8진수로 9를 나타내고, 022는 8진수로 18을 나타냅니다. printf 함수의 %d 형식 지정자는 10진수로 출력하므로 9와 18이 출력되는 것입니다.

C프로그래밍 질문

... 제가 c프로그래밍 하고 있는데 첫번째 학점만 점수로 변환이 되고 나머지는 사진처럼 0으로 나오는데 왜 그런 건가요? 어디를 고쳐야 할까요? 복사 붙여넣기로 질문해...

c 프로그래밍 질문

c 프로그래밍 질문 책에 있는 코드 그대로 작성했는데 오류 뜨고 실행이 안됩니다..ㅠㅠ이유가 뭘까요? 문자열과 포인터 단원에 있는 모든 코딩 예제가 실행이 안돼요...

c프로그래밍 질문입니다

... c프로그래밍 질문이 있습니다. #include <stdio.h> int main(void) { printf("%d, %d\n", 011, 022); return 0; } 하기와 같이 코드를 치고 실행을 하면 9, 18 이라는 결과가...

c 프로그래밍 질문 책에 있는 코드

c 프로그래밍 질문 책에 있는 코드 그대로 작성했는데 오류 뜨고 실행이 안됩니다..ㅠㅠ이유가 뭘까요? 문자열과 포인터 단원에 있는 모든 코딩 예제가 실행이 안돼요 const...

c 프로그래밍 질문 책에 있는 코드

c 프로그래밍 질문 책에 있는 코드 그대로 작성했는데 오류 뜨고 실행이 안됩니다..ㅠㅠ이유가 뭘까요? 문자열과 포인터 단원에 있는 모든 코딩 예제가 실행이 안돼요 const...

C프로그래밍 문제 질문

... C프로그래밍을 배우고 있는 학생입니다. 기말고사를 준비하며 기출문제를 풀던 중 의문이 있어 질문드립니다. 제가 알기론 8번 문제에서 scanf 함수를 사용해도...

C프로그래밍 질문

이게 무슨 얘긴지 모르겠어요 관계수식 : 비교연산자를 사용한 수식, 결과는 1(참) 또는 0(거짓) ex) a>b, a==b 논리수식 : 논리연산자를 사용한 수식, 결과는 1(참)...

c프로그래밍 질문

답 좀 알려주실 수 있나요 어떤 값을 넣어봐도 잘 모르겠어요 [소스 코드 ] <> " " "" & < < < "" " " < "" " " "" 실행결과 캡쳐

C 프로그래밍 질문

#include <stdio.h> #include <malloc.h> int main() { int* p, * s; int i, j; printf("malloc() 함수 사용\n"); p = (int*)malloc(sizeof(int) * 3); for (i = 0;i < 3;i++) printf("할당된 곳의...