그래서 이것은 우리가이 일을 사용합니까 이유를 말해 줄 수 대문자, 소문자로 변환하는 데 사용한 프로그램입니다?를의 [(I]> = 97 개 & & STR [I] < = 122 STR의 [)] 다음 코드 섹션? 122 z
동안소문자를 대문자로 변환하는 프로그래밍 코드에서 왜 (str [i]> 97 && str [i] <= 122)를 사용합니까?
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();
char str[20];
int i;
cout << "Enter the String (Enter First Name) : ";
cin >> str;
for (i = 0; i <= strlen(str); i++) {
if (str[i] >= 97 && str[i] <= 122) //Why do we use this???
{
str[i] = str[i] - 32;
}
}
cout << "\nThe String in Uppercase = " << str;
getch();
}
[ASCII 테이블] (http://en.cppreference.com/w/cpp/language/ascii)이 도움이 될 수 있습니다. –
97은''a''의 ASCII 코드이고, 122는''z''의 ASCII 코드입니다. 그 (와) 사이의 모든 문자는 일반적으로 "소문자"로 알려져 있습니다? – axiac
그리고이 프로그램에서 끔찍한 것을 배우지 마십시오. 그것은 피해야하는 [* 마법 번호 *] (https://en.wikipedia.org/wiki/Magic_number_ (프로그래밍))를 사용합니다. 완벽하게 훌륭한 ['std :: toupper'] (http : // en.cppreference.com/w/cpp/string/byte/toupper) 기능을 사용하십시오. ASCII 인코딩을 사용하기 때문에 이식 할 수 없습니다. 그리고 그것은 ['std :: string'] (http://en.cppreference.com/w/cpp/string/basic_string)을 사용하지 않으며 버퍼 오버 플로우가 발생하기 쉽습니다. –