2011-10-20 7 views

답변

8
printf("%.13s", labelOne); // stops after thirteen characters. 
printf("%.3s", &labelOne[ 13 ]); // prints three characters of the string that starts at offset 13 

귀하의 관점에 따라 귀하의 질문이나 답변에 모호한 오류가있을 수 있습니다. 두번째 예 정답 수있다 : 그것은 parametrises 때문에 이들의 길이가 일정한 경우

printf("%.3s", &labelOne[ 12 ]); 
밥 않음 @
+3

작은 문체 조언 : 'labelOne + 13'것 같습니다. '& labelOne [13]'보다 자연스럽고 자연 스럽습니다. –

+0

@Blagovest - 내가 생각하는 습관의 힘. 저는이 문제에 대해 앞뒤로갔습니다. 그리고 현재 귀하의 형식이 훨씬 더 일반적입니다. 이 오랜 세월 동안 C 언어로 개발하기 시작했을 때, & str [offset] 형식이 더 보편적 인 것처럼 보였습니다. –

13
printf("Label-one: %.*s", 13, str); 
printf("Label-two: %.*s", 2, str + 13); 

도 허용되지만, 경우에 길이가 런타임에 결정되고, 이것은 최선의 방법은 그들.

관련 문제