2016-08-26 3 views
-5

C 함수 printf()은 인쇄 된 문자 수를 반환하고 strlen()이 다른 이유는 무엇입니까?'printf()'자체가 문자열의 길이를 반환하는 경우 왜 'strlen()'을 사용합니까?

+3

strlen()은 문자열을 인쇄하지 않고 반환하기 때문에? 좋은 질문을하는 법을 배워주세요. –

+4

* "칼로 닭고기를 자르면 계란이 나옵니다. 왜 우리는 계란을 먹지 않습니까? 달걀을 낳는 대신 그럴 수 있겠습니까? "* - Err, 부작용이 있기 때문에, 그리고 다른 하나는 ...? – deceze

+0

글쎄, 고마워. 초보자를위한 훌륭한 설명. 그러나 나는 그 지역 사회가 초보자들에 대해 너무나 부정적인 것이라고 결코 생각하지 못했습니다. 지금이 계정에서 더 많은 질문을 할 수는 없습니다 :-( –

답변

3

불행히도, 차이점은 strlen은 문자열을 인쇄하지 않고 길이를 반환한다는 것입니다. 또한 printf()는 인수를 형식 문자열로 해석합니다. 인쇄가 끝나는 것은 값을 자리 표시 자에 삽입 할 때 주어진 문자열과 매우 다른 길이가 될 수 있습니다.

+0

질문이 몹시 부정확하지만'strlen (s)'과'printf ("% s", s)'는 똑같은 것을 돌려줍니다 값이'stdin '에 문제가없는 한,'printf'를 잘못 사용한다고 가정하는 것은 질문에 쓰여진 것에 근거하지 않는다. – rici

0

strlen() 함수는 문자열의 길이를 계산합니다. 그것은 strlen에 대한 것이지만 printf()은 형식화 된 출력을 보냅니다.

관련 문제