>> 데이비드 J. 마란 : 내가 좋아하는 거라고 가정 프롬프트 프로그램을 구현하는
다음 문자열에 대한 사용자 및 진행 입력을 활용하기 위해,
모든 소문자로 변환 그들은 대문자로 입력해야.
그럼, 가서하자 해당 프로그램을 구현합니다.
>> 의 첫 번째 cs50.h는 다음에 포함하자 으로는 stdio.h에 있습니다.
그래서 우리는, strlen을 사용할 수있는 의는 string.h에 포함 할 수 있습니다.
>> 의 다음 주 같은 주요 int 무효를 선언하자 과의 지금하라는 메시지를 계속하자
문자열에 대한 사용자.
printf의, 우리도을 요청하게 일부 입력하십시오.
이제 문자열을 선언하자 -
우리는이야 전화 할게 -
그 안에 호출의 결과를 저장 CS50 라이브러리 기능하는 GetString.
>> 의 지금은 각각의 반복으로 진행하자 의, 대문자의 문자
우리가 보는 모든 소문자.
INT, 나는 0을 얻는다.
의는 또한 동일한 것으로 N을 선언하자 의의 문자열 길이 우리가 할 수 있도록
N 때까지의 최대 반복, 의 길이, 그리고 각
반복 증분 I.
>> 그리고이 루프의 내부하자 첫 번째 검사는 현재 문자입니다 -
의의 i 번째 문자, 말하자면 -
소문자.
발 브래킷 난보다 크거나 같으면 소문자, 그것은 이하의 수
보다 소문자 Z와 동일 -
이제 우리는 소문자로 변환 할 경우 대문자 편지, 첫 리콜
ASCII에서 소문자는 97입니다 그리고 대문자 A는 65이다.
한편, 소문자 (B)은 98이며 그리고 대문자 B (66)이다.
>> 우리는 그 패턴을보고 계속하는 경우에, 이 부분에 대해서는 소문자
편지는 높은 항상 32 값입니다 대문자보다.
그래서 우리는 소문자로 변환하려면 대문자로, 그것은해야
빼기, 정말 충분 사용자의 입력 32.
또는 더 일반적으로, 그냥 빼기 그 소문자와의 차이
자본 A.
>> 그것을 표현하는 방법?
그럼, 코드​​에서 그것을 할 수 있습니다.
인쇄에 printf와, 견적, 끝 맺다 "%의 C" 다음에 현재 문자,
의 부류 나 마이너스에있어 어떤 인쇄 소문자를 수행 한 결과
마이너스 세미콜론을 대문자.
즉,이 괄호 표현, 작은​​ 마이너스 큰이며,
에서 우리에게 돌아 갈 그 날 (32)의 말.
하지만 기억할 필요가 없습니다 그것은 32 있다고.
나는 컴퓨터가 파악하도록 할 수 있습니다 무엇 소문자의 차이
자본이다.
>> 한편, 한 번 나는, 그 차이를 알 수 나는들에서 뺄 수 있습니다
무엇을 가지고 갈 것이다 브래킷 나는, 어떤 에 아마 소문자
낮은 값으로, 매핑, 즉 값 대문자 상.
컴파일의 지금 저장할 수 있습니다, 이 프로그램을 실행합니다.
도트 슬래시를 대문자로 대문자로합니다.
그리고 내 입력은 인사 할 것이다.
그리고 거기에 우리는여보세요,이.
>> 지금 내 프롬프트에서 일반적으로 인정 하듯이,이다 우리는했습니다 조금 못생긴 때문에
인쇄 한 비트를 생략.
그리고 이제 다시 가서 그 추가 할 수 있습니다.
이 프로그램의 바로 아래쪽에, 매우 간단하고, 대부분에있어
심미적 인 목적의 printf를 추가하는 것, 인용을 끝 맺다 백 슬래시 명.
이제이 파일을 다시 저장하자 다시 실행을 다시 컴파일합니다.
>> 활용할 수 있도록, 점 슬래시 활용.
또, 입력 I는 "안녕하세요"를 제공합니다 모두 소문자로 현재, 입력을 명중
와 "안녕하세요,"훨씬 더 깔끔하게 인쇄.