다음 상수중 올바르지 않은 상수를 구하시오 1. 'abc' 2. "C" 작은따옴표는 문자 하나만받는거니까 답1번 아니야? 자꾸 2번이래 답이 ㅡㅡ
댓글 4
1은 상수맞음 값이 병신일뿐이지. 2는 일단 포인터 상수
익명(223.62)2015-10-22 09:47
1. Multicharacter character constant라고 해서 '' 안에는 문자가 둘 이상 들어있을 수 있음.
물론 이렇게 쓰면 결과 타입은 int가 됨.
예) 'AB' == (int) ('A' * 256 + 'B')
2. 도 올바른 실수 상수 맞는데?
"C" 이것도 올바른 문자열 상수.
ㅅㅅㅅ(175.252)2015-10-22 10:37
아 보기가 3개가 아니라 2개네. 후자도 당연히 상수 맞다. 위에 포인터 상수라고 개소리 싸지른 넘이 있는데 "C"의 타입은 문자 포인터가 아니라 문자열(문자 배열) 이다. 즉, 포인터 상수가 아니라 문자열 상수임.
1은 상수맞음 값이 병신일뿐이지. 2는 일단 포인터 상수
1. Multicharacter character constant라고 해서 '' 안에는 문자가 둘 이상 들어있을 수 있음. 물론 이렇게 쓰면 결과 타입은 int가 됨. 예) 'AB' == (int) ('A' * 256 + 'B') 2. 도 올바른 실수 상수 맞는데? "C" 이것도 올바른 문자열 상수.
아 보기가 3개가 아니라 2개네. 후자도 당연히 상수 맞다. 위에 포인터 상수라고 개소리 싸지른 넘이 있는데 "C"의 타입은 문자 포인터가 아니라 문자열(문자 배열) 이다. 즉, 포인터 상수가 아니라 문자열 상수임.
AB가 왜 저렇게 되는거?