2016-11-03 2 views
-1

동료가 나에게 무언가를 가르치려고했지만 실패했습니다. 나는 그가 무슨 말을하고 있는지 이해할 수 없다.큰 쿼리, 문자열 C

문자열 1과 문자열 2뿐만 아니라 (int) 숫자가 주어집니다.

사용자 입력에 의해 지정된 여러 문자를 두 문자열 모두 비교하고 더 큰 하위 문자열을 표시해야합니다. 다른 사람이 그에게 그 일을하는 방법을 보여주기 때문에 그는이 일을합니다.

if (result > 0) { 
    printf("sub-string1 \'%.*s\' is bigger\n\n", number, string1); 
} 
else if (result < 0) { 
    printf("sub-string2 \'%.*s\' is bigger\n\n", number, string2); 
} 
else { //if result == 0 
    printf("Both sub-strings \'%.*s\' and \'%.*s\' are equal\n\n", number, string1, number, string2); 
} 

내 질문은 무엇을 의미합니까? 제 할머니와 이야기하는 것처럼 분명히하십시오. 그녀는 컴퓨터를 전혀 이해하지 못합니다. 그러면 무엇입니까?

\'%.*s\' 

감사합니다.

+1

[이 링크] (http://www.cplusplus.com/reference/cstdio/printf/) 꽤 좋은 설명이있다 그 수정자가 무엇을 의미하는지. ('\'는 수식어의 일부가 아니며, 인쇄 된 텍스트의 리터럴입니다.) – UnholySheep

+0

감사합니다 ....... –

+0

그런데, 작은 따옴표를 문자열에서 이스케이프 할 필요가 없습니다. – Barmar

답변

0

\'%.*s\'은 문자 길이가 numberstring1으로 지정된 텍스트 문자열로 대체됨을 의미합니다. 기호에

더 설명 :

\' simply means ' 
% means whatever follows it will be replaced by what you provided 
. indicates what follows it is a number, which specifies the length of the string(only in the case of string) 
* means it will be replaced by a numerical variable (here number) 
s means it will be replaced by a string 

는 희망이 도움이