실행 후 작업이 중단 되었습니다.가 뜨네요 이유 좀 알 수 있을가요? 디버그를 못해서,,
AngelsTears
#include stdio.h
#include string.h
#include stdlib.h
struct namect{
char *fname;
char *lname;
int letters;
};
void getinfo(struct namect*);
void makeinfo(struct namect *);
void showinfo(const struct namect *);
void cleanup(struct namect*);
void main(){
struct namect person;
getinfo(&person);
makeinfo(&person);
showinfo(&person);
cleanup(&person);
}
void getinfo(struct namect* pst)
{
char temp[81];
printf(이름을 입력하시오.\n);
gets_s(temp);
// 이름을 저장 할 메모리 할당.
pst - fname = (char*)malloc(strlen(temp) + 1);
// 할당된 이름을 메모리에 복사.
strcpy_s(pst - fname, 81, temp);
printf(성씨를 입력하시오.\n);
gets_s(temp);
pst - lname = (char*)malloc(strlen(temp) + 1);
strcpy_s(pst - lname, 81, temp);
}
void makeinfo(struct namect *pst)
{
pst - letters = strlen(pst - fname) + strlen(pst - lname);
}
void showinfo(const struct namect *pst)
{
printf(%s %s, 당신의 성명은 %d개의 글자를 가지고 있습니다.\n,
pst - fname, pst - lname, pst - letters);
}
void cleanup(struct namect *pst)
{
free(pst - fname);
free(pst - lname);
}
-
꼼지
에러나는 곳에 브레이크포인트 걸고 f5눌러서 디버깅모드로 실행해서 f10, f11누르면서 지역란과 호출스택,
뭐 그래도 안되면 메모리창 띄우고 봐보세용 -
푸른나래
사실 개발의 80%는 디버깅입니다. 개발을 잘하려면 디버깅을 잘해야 한다고 해도 과언이 아닙니다.
디버깅 툴을 다루는게 처음에는 쉽지 않겠지만, 차근차근 해보시면, 적응이 되실거예요.
F10으로 한문장씩 실행하면서, 변수값을 확인해 보시다 보면, 원인을 찾을 수 있을거예요. ^^