:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
11/03/09 11:26
형변환에는 명시적 형변환(강제로 변환)과 묵시적 형변환(자동으로 변환시켜줌)이 있습니다. 보통은 좀더 표현 범위가 넓다고 해야하나? 기본적으로 사용하는 데이터 타입으로 변환을 하게 되는거죠. 예를 들어
//부동형 데이터 타입의 경우 기본 데이터 타입은 double 입니다. float a= 0.5f; double b = 0.1; //명시적 변환 a= (float)b; //자동변환(묵시적) b=a; 그리고 정수형의 기본 데이터 타입은 int 형입니다. 예를 들어 byte k=0; int i= 6; //묵시적 변환가능 i = k; //명시적 변환이 필요, 컴파일러에 따라서 에러나 경고를 낼수도 있고 안낼수도 있음 k=(byte)i; a를 입력하면 f가 출력된다라고 하면 ascii 값을 이용해서 변환해서 출력하면 되겠죠. 인터넷에서 아스키 코드표를 참조하시면 되고 아스키 코드표를 보시면 아시겠지만 a,b,c,d 이런 값들이 1씩 증가하면서 이웃해 있기 때문에 char result =0; //이게 맞는지...워낙 c++해본지 오래되나서... char input <<cin; result =(char)(input+5); 이러면 되겠죠.
11/03/09 11:33
말씀하신 "알파벳을 입력하면 그 다섯 번째 뒤에 알파벳이 출력되는 프로그램"이 형 변환을 이용해서 하는 것일텐데요
문자형인 변수를 int로 변환하면 변수내용이 숫자가 되죠. 숫자이므로 사칙연산이 가능합니다. 거기에 5를 더하고, 그걸 다시 문자형으로 변환하면 될겁니다 C++ 안쓴지 백만년이라 문법은 가물가물한데, 알파벳 입력받은 변수 이름이 alphabet 이라면 int number; number = (int)alphabet; // number라는 변수에 alphabet변수의 내용을 int형으로 변환해서 저장 number=number+5; alphabet=(char)number; // alphabet에 number변수의 숫자를 문자로 변환해서 저장 이런식으로 하시면 될겁니다.
11/03/09 11:49
이런식으로 하셔도 되겠네요
#include <stdio.h> int main(void) char val; printf("문자를 하나 입력하세요 :"); scanf("%c", &val); val = val + 5; //val을 문자로 입력 받았지만 ASCII코드를 이용해서 5칸 뒤로 printf("입력된 문자 5칸 뒤의 값은 %c \n", &val); return 0;
|