C언어 관련 질문좀할게요! 도와주세요
함수를 지정해줬습니다 upper lower
함수도 짜서 결과를 도출하는건데
int upper(char ch) 함수를 소문자>대문자 int lower(char ch) 함수를 대문자>소문자 이렇게 해놨는데
정답일수있을까요?
검색해보니깐 upper를 대문자>소문자 lower를 소문자>대문자로 바꾸는 함수로 지정해놓더라구요
물론 메인함수에도 함수 호출할때 각각의 경우에 맞게 적어놨습니다!
대문자나 소문자를 반대로 소문자나 대문자로 바꿔주는 함수를 구현하는 것이라면 옳게 구현하신 것이라 생각됩니다.
단지 구현한 함수 이름 중 upper와 lower를 서로 바꾸어 쓰신 것 같은데 교재나 강의에서 나오는 문제의 해답처럼 제대로 원하는 값이 출력이 된다면 정답으로 보는게 맞을 듯 싶습니다.
아스키 코드 표를 보시면 대문자 숫자와 소문자 숫자가 다른걸 확인할 수 있습니다.
예를 들어 65는 아스키코드로 대문자 'A'를 나타내고, 97은 아시스코드로 소문자 'a'를 나타냅니다.
65부터 90까지가 대문자 'A' ~ 'Z'영역이고, 95부터 122까지까 소문자 'a' ~ 'z' 영역입니다. 이 범위를 보고 대문자 소문자인지 파악이 가능하고, 97과 65의 차이값을 더하거나 빼줌으로써 대문자와 소문자로 변환이 가능합니다.
보통 함수명을 upper는 질문한 것처럼 소문자를 대문자로 바꾸는 함수, lower는 대문자를 소문자로 바꾸는 함수 명으로 자주 사용하기는 합니다.
함수명은 함수명일 뿐 정답이 있다고 보기 어렵습니다.
일반적으로는 upper, lower를 사용하지만 그외에 다른 용도로 사용해도 틀렸다고 보기는 어렵습니다.
프로그래밍 쪽에서는 정답이라는 것이 애매합니다.
결과는 확실히 정해져 있지만 그것을 어떻게 개발하는 것은 상황에 맞게 개발하는게 맞는 것 같습니다.