포인터를 활용하여 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++ 에서 ++가 후위 연산이기 때문에 참 거짓을 확인한 후에 한 자리르 이동합니다. 거짓이 되는 순간이 바로 공백이 나오는 곳입니다. 공백이 나오면 반복문이 거짓으로 계산된 다음 중단하는 방식입니다.
'C_C++' 카테고리의 다른 글
clang 으로 strncpy 구현해보기 (0) | 2020.10.29 |
---|---|
포인터 활용하여 strcmp() 함수 직접 만들기 (0) | 2020.07.06 |
putstr()함수를 만들어보자. (0) | 2020.07.06 |
sqrt() 함수 직접 만들어보자. (0) | 2020.07.06 |
재귀 문법을 활용하여 팩토리얼 구하기 (0) | 2020.07.06 |