-
[잡담/일상] c언어 // 으음;; 문자포인터는2017.10.01 PM 01:53
int a = 10;
float b = 20.1f;
double c = 30.1;
char d = 'G';
//- 위의 변수 a,b,c,d 에 대하여 포인터변수를 선언하고
//각변수의 주소를 포인터변수에 대입하세요.
//완성된 포인터 변수를 이용하여 변수에저장된값을 출력하세요.
int *pta;
pta = &a;
(a b c 는 생략)
printf("문자 d : %c \n", &d);
printf("*pta : %c \n", *pta);
printf("참고 : pta는 찾아갈 주소값이 저장되어있음\n : %c %c \n", &d, *pta);
printf("-----------------------------------\n");
int / float / double 까진 잘 나오는데...
char d = 'G'; 만 출력이 안되고
콘솔 창에서 그냥 오롷게 되어버리는데요.. -ㅅ- ;
%s 로하면 이상한 괴랄문자가 나오고 밑에같이 오류창 뜨게 되고..
c는 당연히 아스키코드가 나오는뎅..
G만 나오게 하려면 어떻게수정해야하나요;;;
댓글 : 7 개
- 자유친일당할복강추
- 2017/10/01 PM 02:06
printf("문자 d : %c \n", d);
- 비싸기만함
- 2017/10/01 PM 02:27
으어..&가 빠져야하는거군여;;
- 매드★몬스터
- 2017/10/01 PM 02:16
pta는 int형 포인터다 보니깐 printf에서 %d로 인식시켜야 하나 보네요.
아마 다른 형태로 불러오시려면 캐스팅 하셔야 할것 같습니다.
printf("문자 d : %c \n", d);
printf("*pta : %d \n", *pta);
printf("참고 : pta는 찾아갈 주소값이 저장되어있음 : %c %d \n", d, *pta);
이게 아마 원하시는 결과일 것 같습니다
아마 다른 형태로 불러오시려면 캐스팅 하셔야 할것 같습니다.
printf("문자 d : %c \n", d);
printf("*pta : %d \n", *pta);
printf("참고 : pta는 찾아갈 주소값이 저장되어있음 : %c %d \n", d, *pta);
이게 아마 원하시는 결과일 것 같습니다
- 비싸기만함
- 2017/10/01 PM 02:23
으어..
- 비싸기만함
- 2017/10/01 PM 02:25
printf("*pta : %c \n", *pta); 에선
문자를 못출력하는건가요?
%d는 a가 출력되는뎅 ;ㅅ;
? 가 출력되네요;;
G가 ..ㅠ
문자를 못출력하는건가요?
%d는 a가 출력되는뎅 ;ㅅ;
? 가 출력되네요;;
G가 ..ㅠ
- 몬스터.[
- 2017/10/01 PM 04:06
int a=10
int* pta = &a
*pta == a
a == int 10
출력 %c 캐릭터형을 출력한다는 약속문구죠
당연히 안됨
int를 강제로 char형으로 변환하기위해선 형변환이 필요하죠
%d 는 정수를 출력한다는 예약어니깐 애초에 int형인 a가 그냥 출력이되죠
int* pta = &a
*pta == a
a == int 10
출력 %c 캐릭터형을 출력한다는 약속문구죠
당연히 안됨
int를 강제로 char형으로 변환하기위해선 형변환이 필요하죠
%d 는 정수를 출력한다는 예약어니깐 애초에 int형인 a가 그냥 출력이되죠
- 와일드다운
- 2017/10/01 PM 02:21
printf 문법과 디버거를 확인해보세요
user error : Error. B.