에러가 나는 이유가 뭘까요?
글쓴이: romaangel / 작성시간: 화, 2010/03/16 - 9:57오후
#include
#include
#include
int main()
{
char str[30];
int i;
char *name=(char*)malloc(sizeof(30));
printf("성적\n");
scanf("%s", str);
for(i=0;i<30;i++)
{
name[i]=str[i];
}
printf("%s", name);
return 0;
}
실행하면 마지막에 에러가 납니다.
Forums:


제 경우에는 잘 실행
제 경우에는 잘 실행 되는데요...
printf("%s", name); 를 printf("%s\n", name); 으로 바꿔주면 완벽하겠지만, 딱히 에러가 나지는 않습니다.
음.... 이상하네
저같은 경우엔 실행하고 나서 조금 있으면 에러난다고 뿜는데;; 이상하네요;;;;;
어떤 에러인지를
어떤 에러인지를 알려주셔야 답이 나올 것 같은데요
--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
sizeof(30) 의 결과가
sizeof(30) 의 결과가 어떻게 나와야 한다고 생각하시는가요 ?
OTL
으아... 예리하십니다.
으아... 예리하십니다.
아. 바보짓을 좀 했군요....
sizeof가 왜 들어간건지 참;;;;;
궁금해서 해봤습니다.
sizeof(30) == 4
sizeof(355555555555555555) == 8
sizeof(355555555554444445555555) 너무 크면 컴파일에러. error C2177: constant too big
sizeof('a') == 1
sizeof("aa") == 2
sizeof("aaaaaa") == 6 알파벳 갯수만큼.
2048개까지 가능하고. 그이상은 컴파일에러, error C2026: string too big, trailing characters truncated
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com