10. c언어 문자열, 문자열입력, 문자열배열, 리터럴
scanf()와 문자열입력 컴퓨터는 문자를 문자로 저장하지 않고, 숫자로 저장한다. 다만 우리가 읽을 때 문자로 읽느냐, 숫자로 읽느냐의 차이. 아스키코드의 값을 따라 문자로 저장하든, 숫자로 저장하든, 포맷에 따라 읽어준다. 즉 char형으로 문자를 저장해도 컴퓨터는 숫자로 저장하고, 우리가 읽고자하는 포맷 %d or %c에 따라 읽어준다. #include int main() { char a; scanf("%c",&a); printf("%c,%d",a,a); } 결과 d,100 하지만 모든나라의 문자를 숫자로 변환하면 아스키 코드 안에 다 담을 수 없다. 그래서 생긴 것이 유니코드. utf-8따위. 아래 내용과는 별 상관이 없다 문자열 입력 포맷 char str[]; scanf(“%s”,str); st..
2023. 3. 20.
4. c언어 scanf 문자 입력 받기, 형변환
컴퓨터는 0과 1만 처리한다. 문자도 숫자로, 즉 0과 1로 처리한다. 그래서 단지 이것을 char, 즉 문자형으로 사용할 것이냐, int형, 즉 정수형으로 사용할 것이냐는, 포맷으로 달라진다. #include int main() { char a = 'a'; printf("a's value=%d, a's char=%c\n", a, a); return 0; } 결과는 다음과 같다 a's value=97, a's char=a %d는 a의 값을 십진수로 출력하라는 뜻이다. %c는 a의 값을 문자로 출력하라는 뜻이다. a는 문자인 'a'로 저장되었지만 포맷에 따라 정수형과 문자형으로 출력 되었다. ASCII 코드 : 문자와 숫자의 대응표. 1byte (8bit) 로 문자들을 표현했다. Unicode : 한 문자..
2023. 1. 21.