#include<stdio.h> int main() { int k=1; char y; y =(char)k; printf("----%c-----",y); }
int k 를 char 형으로 형변환이 되지 않습니다... 혹시 int 형을 char형으로 변환할수 있는 방법이 있는지 궁금합니다.. [/code]
잘되는데요? 혹시 1이라서 출력이 안되는거 아닌가요? 1은 SOH이니깐 다른 걸 찍어보세요
#include<stdio.h> int main() { int k=1; char y; y =(char)k; printf("----%c-----",y); } int k 를 char 형으로 형변환이 되지 않습니다... 혹시 int 형을 char형으로 변환할수 있는 방법이 있는지 궁금합니다.. [/code]
ascii 코드 1이 문자 '1'이 아니지요. 만약 int k의 k가 1글자의 숫자라면
#include<stdio.h> int main() { int k=1; char y; y =(char)k + 0x30; printf("----%c-----",y); }
처럼 해주면 원하시는 결과를 얻을 수 있습니다.
혹시 숫자가 1자리가 아니라면 문자열로 바꾸셔야 합니다. sprintf등의 함수를 사용하세요.
integer변수를 char로 형식을 변환해서 char로 넣었으니 문법은 맞습니다. 그리고 컴파일시 오류가 안나는것이 맞습니다... 하지만, 원하는 결과를 얻을 수가 없는것이 맞습니다. 한번 더 생각해 보셔야겠네요.
왜냐하면, 시스템마다 틀리지만 integer의 크기는 4바이트, char의 크기는 1바이트입니다.. 형변환만 해서 "="을 한다고 값이 들어가지는 않지요...
(단, 아래의 코드와 같이 1바이트에 들어있는 integer값을 4바이트 integer로 옮긴 경우 제외...)
main() { /*char에는 interger값으로 -127 ~ + 128까지 넣을수 있습니다.*/ char aaa = 100; int bbb; bbb = aaa; printf("[%d]\n", bbb); }
질문을 검색해 보시면 int를 char로 바꾸는 예를 찾을 수 있을꺼예요.. 도움되시길...
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
글쎄요 잘되는데요 ?
잘되는데요?
혹시 1이라서 출력이 안되는거 아닌가요? 1은 SOH이니깐 다른 걸 찍어보세요
Re: int형 을 char 문자형으로 변환할수 있는 방법은 없는지???
ascii 코드 1이 문자 '1'이 아니지요.
만약 int k의 k가 1글자의 숫자라면
처럼 해주면 원하시는 결과를 얻을 수 있습니다.
혹시 숫자가 1자리가 아니라면
문자열로 바꾸셔야 합니다.
sprintf등의 함수를 사용하세요.
Re: int형 을 char 문자형으로 변환할수 있는 방법은 없는지???
integer변수를 char로 형식을 변환해서 char로 넣었으니 문법은 맞습니다. 그리고 컴파일시 오류가 안나는것이 맞습니다... 하지만, 원하는 결과를 얻을 수가 없는것이 맞습니다. 한번 더 생각해 보셔야겠네요.
왜냐하면, 시스템마다 틀리지만 integer의 크기는 4바이트, char의 크기는 1바이트입니다.. 형변환만 해서 "="을 한다고 값이 들어가지는 않지요...
(단, 아래의 코드와 같이 1바이트에 들어있는 integer값을 4바이트 integer로 옮긴 경우 제외...)
질문을 검색해 보시면 int를 char로 바꾸는 예를 찾을 수 있을꺼예요..
도움되시길...
댓글 달기