가장 긴 단어를 출력할 문자열을 입력하십시오

6063 단어 필기문자열
//             
char * longest(const char* str)
{
     
	char *curstr=(char *)malloc(strlen(str) + 1);//      
	char *longest=(char *)malloc(strlen(str) + 1);//      
	int count = 0;//         
	int maxsize = 0;//      
	while(*str!='\0')
	{
     
		if (isalpha(*str))//       
		{
     
			curstr[count++]=*str;
		}
		else
		{
     
		  if(count>maxsize)//    
		  {
     
		    curstr[count]='\0';// curstr     
			strcpy_s(longest,count+1,curstr);
			maxsize=count;
		  }
		  count=0;
		}
		str++;
	}
	/*               ,        
	   str   '\0' ,         ,    else     ,
	                     ,    while    ,     if  
	*/
	if (count > maxsize)
	{
     
		curstr[count] = '\0';
		strcpy_s(longest, count + 1, curstr);
		maxsize = count;
	}
	free(curstr);//         ,         
	return longest;
}


상기 코드가 아직 부족할 수 있으니, 여러분의 가르침을 환영합니다.

좋은 웹페이지 즐겨찾기