40쪽에 문제 1번에 ⑫printf("8.6s","help me"); 답이 help m 라고 하셨는데 전체 8자리 확보후 오른쪽부터 출력하라고 했는데 왜 e가 빠지나요? 그 부분이 너무 이해가 안되요.
43쪽 문제 1번에 printf("%.4s, input_value);가 welc인건 이해가 되는데
왜 printf("%3.2", input_value); 가 전체 세자리 확보후 문자열 오른쪽부터 두글자만 이라고 풀이에 써져있는데
답이 Welc we인가요?
자세하게 설명좀 해주세요...
안녕하세요 길벗수험서 운영팀입니다.
[40쪽 1-12]
공백 한 칸 또한 한 글자로 판정하기 때문입니다.
h, e, l, p, 공백, m
이렇게 6글자가 되죠.
[43쪽 1번]
문제에서 출력결과를 쓰라하였고, 코드에는 2개의 출력문이 있습니다.
즉 두개의 출력문으로 화면에 나타나는 결과를 써야 하는데, 첫번째 printf문에 따라
Welc
가 출력되고 그 뒤에 이어서
We
가 출력되면서 결국 화면에 최종적으로 나타나는 결과는
Welc We가 되기 때문이죠.
행복한 하루되세요 :)
-
관리자2020-06-24 09:17:44
안녕하세요 길벗수험서 운영팀입니다.
[40쪽 1-12]
공백 한 칸 또한 한 글자로 판정하기 때문입니다.
h, e, l, p, 공백, m
이렇게 6글자가 되죠.
[43쪽 1번]
문제에서 출력결과를 쓰라하였고, 코드에는 2개의 출력문이 있습니다.
즉 두개의 출력문으로 화면에 나타나는 결과를 써야 하는데, 첫번째 printf문에 따라
Welc
가 출력되고 그 뒤에 이어서
We
가 출력되면서 결국 화면에 최종적으로 나타나는 결과는
Welc We가 되기 때문이죠.
행복한 하루되세요 :)
-
관리자2020-06-25 10:43:47
안녕하세요 길벗수험서 운영팀입니다.
[40쪽 1-12]
'출력값'의 오른쪽부터 데이터를 긁어오는 것이 아닌, '출력값'의 왼쪽부터 데이터를 긁어와, 화면에 출력시 8칸을 확보하여 '오른쪽 정렬'하여 출력한다는 의미입니다. (.6 등으로 데이터를 가져올 때는 데이터를 무조건 왼쪽부터 긁어옵니다. +-의 왼쪽/오른쪽 출력은 말 그대로 화면 출력 시의 얘기입니다.)
즉, 'help m' 데이터를 뽑은 뒤, 출력시 화면에 8칸 확보 후 6글자를 출력하므로 앞에 두글자를 띄운 후 ' help m'이 출력되는 것입니다.
[43쪽 1번]
이것 또한 마찬가지 입니다.
특정 값 또는 변수에서 일부 데이터를 가져올 때는 무조건 왼쪽부터 '몇 글자'를 가져옵니다.
출력시에 이것을 오른쪽 정렬(+)할지, 왼쪽 정렬(-)할지만 지정할 수 있죠.
때문에 .4s - 왼쪽 4글자 출력, 3.2s - 왼쪽 2글자 3칸 오른쪽 정렬이 되는 것이죠.
행복한 하루되세요 :)
-
*2020-06-24 14:11:05
[40쪽 1-12]
공백 한 칸 또한 한 글자로 판정하기 때문입니다.
h, e, l, p, 공백, m
이렇게 6글자가 되죠.
***공백도 한칸으로 판정하는 건 이해하는데 문제에서 오른쪽부터 출력하라고 했는데 답변하신건 왼쪽부터 출력인데요?...
[43쪽 1번]
문제에서 출력결과를 쓰라하였고, 코드에는 2개의 출력문이 있습니다.
즉 두개의 출력문으로 화면에 나타나는 결과를 써야 하는데, 첫번째 printf문에 따라
Welc
가 출력되고 그 뒤에 이어서
We
가 출력되면서 결국 화면에 최종적으로 나타나는 결과는
Welc We가 되기 때문이죠.
***이것도 마찬가지로 오른쪽부터 두글자만이라고 풀이에 써있는데 왼쪽부터 두 글자만 출력된 결과 아닌가요?