IT
[C언어/유닉스] 알파벳을 소문자 ‘a’부터 순서대로 한 줄로 표시하는 함수 작성
배애앰이 좋아
2020. 12. 10. 23:24
반응형
먼저 코드부터 보여드리면,
#include <unistd.h>
void print_alphabet(void)
{
char a;
a = 'a';
while (a <= 'z')
{
write(1, &a, 1);
a++;
}
}
write 함수를 사용하기 위해서 #include <unistd.h> 헤더 파일을 추가해준다.
소문자는 문자형으로 char 타입으로 변수명을 지정해서 선언해준 후 'a'를 대입해준다.
이때, 'a'가 아닌 97를 넣어도 되는데 그 이유는 write 함수가 standard output(표준출력)에 문자로 출력해주는 함수이기 때문에 char 타입으로 'a'로 보내면 char 타입이 그대로 출력이되고, int 타입으로 97을 보내면 아스키 코드표에 의해서 a 로 출력하기 때문에 'a'든 97이든 상관없다.
그 뒤에 ++를 해주면 값이 1씩 증가하면서 아스키 코드표 보다싶이 a -> b 순으로 증가하면서 출력하게 된다. 그러다가 while 의 조건이 false가 되는 'z' + 1인 { 왔을 때 탈출(?)하면서 a부터 z까지만 출력되는 것을 확인할 수 있다.
아래와 같이 테스트 해봤을 경우 :
아래와 같은 결과가 나오는 것을 확인할 수 있습니다.
반응형