포인터를 이용하여 두 문자열을 비교하는 프로그램 작성해봤는데요..
가지등
질문 제목 : 문자열의 주소를 저장하는 문자열 포인터를 이용해서 두 문자열을 비교하고 그 결
과를 출력하는 프로그램을 작성하시오. 두 문자열을 비교할 때는 사전상의 순서를
비교하며 대소문자는 구분하지 않는다. 즉, “deer”가 “apple”보다 더 큰 문자열이
다. 프로그램의 실행 결과는 다음과 같아야 한다.질문 요약 :사전상의 순서(대소문자 구분 하지 않음)를 고려하지 않고 포인터를 이용하여 두 문자열을 비교
첫 번째 문자열을 입력하세요 : deer
두 번째 문자열을 입력하세요 : rabbit
rabbit이 deer보다 더 큰 문자열입니다. //이런식으로 출력되야합니다질문 내용 :
int main()
{
char ch1[30] = a;
char ch2[30] = a;
int i;
char biggerch[30] = a;
char smallerch[30] = a;
printf(첫 번째 문자열을 입력하세요 : );
gets_s(ch1, 30);
printf(두 번째 문자열을 입력하세요 : );
gets_s(ch2, 30);
char *p = ch1;
for (i = 0; i 30; i++)
{
if (p[i] == 0)
{
break;
}
}
char *q = ch2;
for (i = 0; i 30; i++)
{
if (q[i] == 0)
{
break;
}
}
if ((p[0] - p[i]) - (q[0] - q[i]) 0)
{
printf(%s 이 %s 보다 더 큰 문자열입니다.\n, p,q);
}
else
{
printf(%s 이 %s 보다 더 큰 문자열입니다.\n, q, p);
}
return 0;
}
한번 짜봤는데요 ..
실행해봤더니 잘 되긴 하는데 이게 맞는건지 잘 모르겠어요
문제의 요지에 맞는건가요?
-
맑은가람 2023-04-15
\두 문자열을 비교할 때는 사전상의 순서를 비교하며 대소문자는 구분하지 않는다.\ 와
\사전상의 순서(...)를 고려하지 않고 ... 두 문자열을 비교\ 가 서로 다른 의미라는 것입니다. -
쇼콜라데 2023-04-15
저도 그걸 잘 모르겠네요 .. ;;
그래서 그 문제의 요지에 맞는지를 질문했습니다
그리고 요약한내용과 다르다는게 무슨 말씀인지? -
단순랩퍼 2023-04-15
질문 제목의 내용과 질문 요약의 내용이 다릅니다.
문자열이 크다는 의미가 정확히 뭡니까?
길이? 사전에서 뒤에 나오는?