프로그래밍

 3198, 1/160 회원가입  로그인  
   jyoo94
   char형 오류

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


#include <stdio.h>
int main()
{
        char name[10];
        int age;
        
        
        printf("Welcome to LINUX World. \n");
        printf("What is your name? : ");
        
        scanf("%s", &name);

        printf("What is your age %s.?", name);
        scanf("%d", &age);

        printf("Nice to meet you %s, your %dyears old\n", name, age);

        return 0;
}

//c: 11: 2: warning format '%s' expects argument of type 'char *', but argument 2 has type 'char(*)[10] [-Wformat]

경고가 나오지만 실행은 되거든요? 경고에 보면 %s가 char형 포인터? 를 기대(원한다)했다는데..이해가 안가네요.
어째서 저런 경고가 나는건가요?

  Hit : 8202     Date : 2011/10/29 10:07



    
rlatns3 scanf("%s", &name);
이부분이 잘못되었습니다.
나중에 포인터 하는 부분에서 나오겠지만 배열의 이름은 배열의 맨 첫번째 요소의 주소를 가리키는
포인터거든요
scanf("%s", name);
이라고 바꿔보세요
2011/10/29  
rlatns3 아 참고로 scanf는 주소값을 받는 함수입니다~ 2011/10/29  
jyoo94 감사합니다. 모든 scanf에서는 %다음에 &를 입력해야되는줄 알았는데
모든건 아니였군요.
2011/10/30