안녕하세요.
Scanf나 Printf 에서 사용되는 서식 문자열은 대응되는 변수의 값을 출력할 때 출력 서식을 지정하는 옵션입니다.
scanf("%d %o", &i, &j);
에서 %d는 이에 대응되는 변수인 i를 입력받되 %d이므로 입력된 값을 10진수 정수로 입력 받겠다는 의미입니다.
%o는 이에 대응되는 변수인 j를 입력받되 %o이므로 입력된 값을 8진수 정수로 입력 받겠다는 의미입니다.
우리가 보통 입력할 때는 10진수로 입력하므로 i와 j에는 모두 10진수로 입력이 수행됩니다. i에 대응되는 서식 문자열은 %d이므로 입력된 10진수 값이 정수형태로 저장되자만 j에 대응되는 서식 문자열은 %o이므로 입력된 10진수가 8진수로 자동 변환되어 저장됩니다.
반대로 출력에서는 변수의 i가 10진수 정수형 변수이므로 10진수 정수의 값이 저장되어 있는데, 이 값을 출력할 때 지정된 서식에 맞게
%d는 정수 그대로, %o는 8진수로 출력하는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-09 10:02:55
안녕하세요.
Scanf나 Printf 에서 사용되는 서식 문자열은 대응되는 변수의 값을 출력할 때 출력 서식을 지정하는 옵션입니다.
scanf("%d %o", &i, &j);
에서 %d는 이에 대응되는 변수인 i를 입력받되 %d이므로 입력된 값을 10진수 정수로 입력 받겠다는 의미입니다.
%o는 이에 대응되는 변수인 j를 입력받되 %o이므로 입력된 값을 8진수 정수로 입력 받겠다는 의미입니다.
우리가 보통 입력할 때는 10진수로 입력하므로 i와 j에는 모두 10진수로 입력이 수행됩니다. i에 대응되는 서식 문자열은 %d이므로 입력된 10진수 값이 정수형태로 저장되자만 j에 대응되는 서식 문자열은 %o이므로 입력된 10진수가 8진수로 자동 변환되어 저장됩니다.
반대로 출력에서는 변수의 i가 10진수 정수형 변수이므로 10진수 정수의 값이 저장되어 있는데, 이 값을 출력할 때 지정된 서식에 맞게
%d는 정수 그대로, %o는 8진수로 출력하는 것입니다.
오늘도 즐거운 하루 되세요.