포인터를 활용하여 strlen() 함수를 만들어보자.

#include<stdio.h>

int		myStrlen(char *str)
{
	int		len;

	len = 0;
	while (*str++)
		len++;
	return (len);
}

int main(void){
  char str[50];
  int result;
  scanf("%s",str); 
  result = myStrlen(str);
  printf("\nInput : %s\n",str);
  printf("result : %d",result);
  return 0;
}

입력받은 문자를 함수로 전달하여 문자 길이를 구하는 함수입니다. 여기서 중요한 구문은 while(*str++) len++ 입니다. *str++ 에서 ++가 후위 연산이기 때문에 참 거짓을 확인한 후에 한 자리르 이동합니다. 거짓이 되는 순간이 바로 공백이 나오는 곳입니다. 공백이 나오면 반복문이 거짓으로 계산된 다음 중단하는 방식입니다.

Hello 입력하고 길이를 구한 결과

 

Posted by 뭔가느낌이
,