콘텐츠
문자열 길이 비교는 어떤 문자열이 더 많은 문자를 포함하는지 알아낼 수 있기 때문에 C 프로그래밍 언어에서 일반적으로 사용되는 함수입니다. 이것은 데이터 정렬에 매우 유용합니다. 문자열 비교에는 특수 기능이 필요합니다. 사용하지 마십시오 : != 또는 ==.
단계로
- C에서 문자열을 비교할 수있는 두 가지 함수가 있습니다. 둘 다 string.h>코드 라이브러리.
- strcmp () -이 함수는 두 문자열을 비교하여 문자 수의 차이를 반환합니다.
- strncmp () -이것은 또한 적용됩니다 strcmp (), 이것이 첫 번째 인 것을 제외하고 엔 문자를 비교합니다. 오버플로 충돌을 방지하는 데 도움이되므로 더 안전한 것으로 간주됩니다.
- 필요한 라이브러리로 프로그램을 실행하십시오. 두 라이브러리가 있습니다. stdio.h> 과 string.h> 프로그램에 필요할 수있는 다른 라이브러리와 함께 필요합니다.
#include stdio.h> [[이미지 : C 프로그래밍 1 단계 버전 4.webp에서 두 문자열 비교 | center]] #include string.h>
- 하나 시작하십시오.int함수. 이것은 두 문자열의 길이를 비교하는 정수를 반환하므로이 함수를 배우는 가장 쉬운 방법입니다.
[[이미지 : C 프로그래밍 2 단계 버전 4.webp에서 두 문자열 비교 | center]] #include stdio.h> [[이미지 : C 프로그래밍 3 단계 버전 3.webp에서 두 문자열 비교 | center]] #include string. h> int 메인 () {}
- 비교할 두 문자열을 결정하십시오. 이 예에서는 두 데이터를 비교합니다. 숯 문자열. 또한 반환 값을 정수로 결정해야합니다.
[[이미지 : C 프로그래밍 4 단계 버전 4.webp에서 두 문자열 비교 | center]] #include stdio.h> [[이미지 : C 프로그래밍 5 단계 버전 4.webp에서 두 문자열 비교 | center]] #include string. h> int main () {char * str1 = "사과"; char * str2 = "주황색"; int ret;}
- 비교 기능을 추가하십시오. 두 개의 문자열을 정의 했으므로 이제 비교 함수를 추가 할 수 있습니다. 우리는 간다 strncmp () 따라서 측정 할 문자 수가 함수 내에 설정되어 있는지 확인해야합니다.
[[이미지 : C 프로그래밍 6 단계에서 두 문자열 비교 버전 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "주황색"; int ret; ret = strncmp (str1, str2, 11); / * 최대 11 자 길이의 두 문자열 비교 * /}
- 사용하다.다른 경우라면비교를 수행합니다. 이제 함수를 만들었으므로 다른 경우라면 어떤 문자열이 더 긴지 확인합니다. strncmp () 준다 0 결과적으로 문자열의 길이가 같으면 str1이 더 길면 양수이고 str2가 더 길면 음수입니다.
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "주황색"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ( "str1은 더 길다"); } else if (ret 0) {printf ( "str2가 더 길다"); } else {printf ( "두 문자열이 동일합니다"); } 반환 (0); }
경고
- 문자열이 같으면 반환 값은 0입니다. 0도 FALSE의 값이기 때문에 혼란 스러울 수 있습니다.