2번 문제 풀다가...한꺼번에 짜게 됐네요..;
#include <stdio.h>
int main()
{
int iNum;
int *ip;
unsigned char *iN_p;
float fNum;
float *fp;
unsigned char *fN_p;
char ch;
char *cp;
int va_N;
iNum = 25;
fNum = 38.9;
ch = 'g';
ip = &iNum;
fp = &fNum;
cp = &ch;
iN_p = (unsigned char *)&iNum;
fN_p = (unsigned char *)&fNum;
printf("\n\n다음 변수의 번호를 입력하면,\n");
printf("선택한 변수의 각 바이트의 내용을 아스키코드로 출력합니다.\n\n\n");
printf("1.iNum\n2.fNum\n3.ch\n\n변수의 번호를 입력하세요 : ");
scanf("%d",&va_N);
putchar('\n');
switch(va_N)
{
case 1:
{
*(ip+1)=0; // 다음 주소 값을 초기화하지 않으면 2번째바이트 부터는 주소가 이동하기 때문에
값이 틀려진다. 원래는 25 00 00 00인데 25 00 5A 18 이런식으로 쓰레기 값으로 채워진다.
printf("변수 iNum의 각 바이트 내용 :\n");
printf("1번째 바이트(주소0x%08X)내용 : %d\n", iN_p, *iN_p);
printf("2번째 바이트(주소0x%08X)내용 : %d\n", ++iN_p, *(++iN_p));
printf("3번째 바이트(주소0x%08X)내용 : %d\n",(iN_p+2), *(iN_p+2));
printf("4번째 바이트(주소0x%08X)내용 : %d\n",(iN_p+3), *(iN_p+3));
printf("선택하신 변수는 int형이므로 4byte의 공간을 차지하기 때문에\n");
printf("5번째 바이트 존재하지 않습니다.\n");
printf("int형 변수 iNum의 값을 다시 지정해 주세요 : ");
scanf("%d",&(*ip));
printf("입력한 변수의 곱은 %d 입니다.\n", 2*(*ip));
break;
}
case 2:
{
*(fp+1)=0;
printf("변수 fNum의 각 바이트 내용 :\n");
printf("1번째 바이트(주소0x%08X)내용 : %08X\n", fN_p, *fN_p);
printf("아스키코드 문자로 : %2c\n",*fN_p);
printf("2번째 바이트(주소0x%08X)내용 : %08X\n", ++fN_p, *(++fN_p));
printf("아스키코드 문자로 : %2c\n",*(++fN_p));
printf("3번째 바이트(주소0x%08X)내용 : %08X\n",(fN_p+2), *(fN_p+2));
printf("아스키코드 문자로 : %2c\n",*(fN_p+2));
printf("4번째 바이트(주소0x%08X)내용 : %08X\n",(fN_p+3), *(fN_p+3));
printf("아스키코드 문자로 : %2c\n",*(fN_p+3));
printf("선택하신 변수는 float형이므로 4byte의 공간을 차지하기 때문에\n");
printf("5번째 바이트 존재하지 않습니다.\n");
break;
}
case 3:
{
*(cp+1)=0;
printf("변수 cp의 각 바이트 내용 :\n");
printf("1번째 바이트(주소0x%08X)내용 : %c\n", cp, *cp);
printf("선택하신 변수는 char형이므로 1byte의 공간을 차지하기 때문에\n");
printf("2번째 바이트 존재하지 않습니다.\n");
break;
}
default:
{
printf("번호를 잘못입력하셨습니다. 1,2,3번 중에 하나의 번호를 입력하세요\n");
break;
}
}
return 0;
}
'코스웨어 > 13년 스마트컨트롤러' 카테고리의 다른 글
함수 찾는 사이트~ (9) | 2013.04.27 |
---|---|
[소스인사이트] 들여쓰기 (12) | 2013.04.26 |
[암보드 기초] 핀 활성화 / LED 깜빡이기 (11) | 2013.04.25 |
13년도 기수들은 벌써 글이 엄청나네요. (14) | 2013.03.27 |
알아두면 유용한 프로그래밍 관련 사이트 (1) | 2013.03.25 |
C언어 1~5연습문제 (서준영) (0) | 2013.03.25 |
5장 연습문제 - 변준식 (0) | 2013.03.25 |
연습문제 과제 -송시혁 (0) | 2013.03.25 |