Hello.h
#include static int *ptr1; void intro(); int start(int *ptr); |
intro.c
#include"Hello.h" #include void intro() { printf("돈을입력하세요. "); int money; scanf_s("%d",&money); if(money >= 10000) { printf("환영합니다. "); ptr1 = &money; start(ptr1); } else { } } |
start.c
#include"Hello.h" int start(int *ptr) { int ptr_s = *ptr printf(" "); printf("1.파이리= 1000, 2.꼬부기= 1500, 3.피카츄= 2000 "); int choose; int list[3] = {1000,1500,2000}; scanf_s("%d",&choose); switch(choose) { case 1 : ptr_s -= list[0]; printf("파이리가결제되었습니다. money = %d ", ptr_s); break case 2 : ptr_s -= list[1]; printf("꼬부기가결제되었습니다. money = %d ", ptr_s); break case 3 : ptr_s -= list[2]; printf("피카츄가결제되었습니다. money = %d ", ptr_s); break default : printf("잘못된선택입니다. "); break } *ptr1 = ptr_s; return ptr_s; } |
main.c
#include"Hello.h" #include #include char choose; int main() { intro(); while (1) { printf("계속할려면y를눌러주세요. "); scanf_s("%c", &choose); if (choose == 'y') { start(ptr1); } else { break } } return 0; } |
intro() -> start() 까진 잘가는데 main()에서 while()문이 안돈다 ㅠ
\=\ 하나가 빠졌네요. if (choose == 'y') {
수정 햇는데도 안되더라 입력이 안되는게 아니라 아예 while 자체가 실행이 안되네..
혹시 헤더파일에 전역 변수 선언해서 그런가....
f11 눌러서 디버깅해라
들여쓰기 마렵네
근데 스타트 함수는 리턴값 굳이 없어도 되잖아
그냥 포인터 잘못써서 그랫네 일반 변수로 바꾸고 정상 작동됨 헤