프로그래밍

 3198, 1/160 회원가입  로그인  
   capt_0669
   이제 포인터로 넘어갈려는데 그전의 "도전" 문제들에서요...또 이상해요

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2819 [복사]


#include <stdio.h>

int main(void)
{
        int DEC;
        printf("10진수를 입력하세요: ");
        scanf("%d", DEC);
        printf("\n10진수 %d의 16진수 값은: %x", DEC, DEC);

        return 0;
}

10진수를 받아들여서 16진수로 바꾸는것인데

그냥 이대로

int DEC; 이렇게 해놓면

DEC is being used without being initialized

이렇게 뜨고

int DEC = 1;이렇게 해놓면

도전 1.exe의 0x503ee42e (msvcr100d.dll)에 처리되지 않은 예외가 있습니다.
0xC0000005: 0xcccccccc 위치를 기록하는 동안 액세스 위반이 발생했습니다.

이렇게 떠요...

ㅠ,ㅠ아ㅣㅓ렂댜ㅐㅓ렂먀ㅕ호ㅑㅕㄷ괘ㅑㄷ조레ㅑㅕㅈ더라미ㅠㅗㅑ이ㅕ럼아랴재ㅑ;ㄷㄱ

짜증남...

도와주세요

빨리 포인터 공부하고 싶어요!!!

  Hit : 10570     Date : 2010/12/26 08:26



    
capt_0669 그래서 간단하게

printf("입력해봐 응꼬야: ");
scanf("%d", a);

이렇게해도
똑같은 문제네요..

그런데 예는 a가

a=1이나 이런식으로 값이 정해져있으면 되는데

printf djifowef;
scanf dskjfweoifjiew;
printf ("잘했어요");

이렇게 해놓면 또

에러떠요....
2010/12/26  
ruka270 scanf를 잘못썼네요.

#include <stdio.h>
#include <stdlib.h>

int main(){
int dec;
printf("10진수를 입력하세요: ");
scanf("%d",&dec);
printf("->10진수 %d의 16진수 값은: %x\n",dec,dec);
exit(0);
}
2010/12/26  
capt_0669 아네...
짜증나네요

죄송합니다^^
2010/12/27  
sedcreta DEC를 그냥 변수로 사용할때는 scanf();에서 함수를 찾아보시면 알겠지만 주소를 받아(?)쓰기때문에 주소를 나타내는'&'를 써주셔야 되요.
일단 문법적으로 오류가 있는거 같은데요..

그리고 그냥 DEC로 쓰려면주소로 주어야 하기때문에..

배열로 주시거나 혹은 *포인터로 주셔야 됩니다...

포인터 들어가기전에 일단 문법을 확실히 다지시고 나서 배열을 '완벽히'! 하셔야 포인터를 배울때 혼동되지 않구 이해가 빠르십니다..
2010/12/27