라이브러리 함수를 사용하지 않고 문자열strcmp 비교

비교 문자strcmp
  • 정의: 사전 정렬법에 따라 두 문자열의 값을 비교
  • 함수 원형: int Strcmp(const char*str1, const char*str2);

  • 다음은 심판 절차를 보여드릴게요.
    #include 
    #include 
    
    //      
    int StrCmp(const char *str1, const char *str2);
    
    int main()
    {
        char a[1024], b[1024];
        int r;
        gets(a);
        gets(b);
        r = StrCmp(a, b);
        puts(!r ? "a = b" : r > 0 ? "a > b" : "a < b");
        return 0;
    }
    
    /*              */
    

    내 코드
    int StrCmp(const char *str1, const char *str2)
    {
    	int i = 0, t;
    	while( !( t = str1[i] - str2[i] ) && str1[i] && str2[i] )
    	{
    		++i;
    	}
    	
    	return t;	
    } 
    

    지식점 & 코드 플래시
    1.while 문장은 정말 생동감 있게 사용되었다. 두 문자열이 끝나지 않았을 때, 그리고 문자열이 같았을 때,++i, 문자가 같지 않으면 비교의 값을 주함수로 돌려보낸다. 이while 내가 탄복하는 오체투지(이 코드는 공부왕이 나에게 보여준 것이니 내가 빌려 썼다. 너무 핍박한다)

    좋은 웹페이지 즐겨찾기