나는 C가 매우 익숙하다. 나는 약간의 무언가를 만들려고 노력하고 있지만이 문제를 극복 할 수 없었다.내 프로그램이 왜 비정상입니까?
프로그램의 복사본을 많이 삭제하여 문제의 범위를 좁혔습니다. 왜 충돌이 계속 발생하는지 알고 싶습니다. 감사합니다. . name
가 초기화되지 않기 때문에 당신이 scanf
에 통과 할 수 있도록, scanf("%s", name);
:
#include<stdio.h>
main()
{
char *name;
printf("\nName your pet.\n");
scanf("%s", name);
int hunger = 5;
int time = 0;
int loop = 0;
int day = 1;
int happiness = 40;
int health = 100;
int tired = 0;
int option;
while(loop < 1){
printf("\n\nDay %i\ntime = %i\n\n",day,time);
printf("1 - check\n2 - interact\n3 - go out\n4 - inventory\n\n");
scanf("\n%i",&option);
if (option == 1) {
if (tired >= 90){
printf("\n %s is struggling to stay awake", name);
}
else if (tired >= 75){
printf("\n %s looks really tired", name);
}
else if (tired >= 50){
printf("\n %s is starting to seem a little sleepy", name);
}
else if ((tired <= 10)&&(hunger < 50)){
printf("\n %s is full of energy", name);
}
time = time - 1;
}
time = time + 1;
if (10<=time){
day = day + 1;
time = 0;
tired = 0;
printf("Goodnight!/n");
}
}
}
당신은 충돌하는 곳을 말하지 않았지만 이름을 초기화 했습니까? –
특정 오류를 설명해 주시겠습니까? 무슨 일이 일어나고 있는지 아십니까? 코드를 게시하면 커뮤니티에서 사용자를 위해 디버깅하도록 요청하는 것만으로도 잘 받아 들여지지 않습니다. – paisanco
C를 배우고 싶다면 gdb/valgrind도 배우고 http://c.learncodethehardway.org/를 보시길 권합니다. – roger