도시 간의 소요 시간을 계산하는 C로 콘솔 앱을 만들려고합니다. 문제는 내 scanSlut
메서드가 1을 계속 반환한다는 것입니다. ("slut"은 영어로 끝나고, 저는 덴마크어이므로 변수 이름에 덴마크 이름을 지정합니다.)이 또한 라이브러리의 다른 변수를 호출하지 못하게합니다. 영어.)<SOLVED> scanf ("% d", & <variable>); 1을 반환합니다
printf("Indtast destinationsstationsnummer:\n");
slut = scanSlut(start);
if(slut > 15 || slut < 1) {
do {
printf("Du har indtastet en ugyldig ankomststation. Indtast venligst en gyldig station\n");
slut = scanSlut(start);
} while (slut > 15 ||slut < 1);
}
int scanSlut(int start) {
int slut, i;
for(i=1; stationer[i] != '\0'; i++) {
if(i!= start) {
printf("#%d: %s\n",i,stationer[i]);
}
}
printf("slut = %d\n", slut);
slut = scanf("%d", &slut);
printf("slut = %d\n", slut);
return slut;
}
첫 번째 printf("slut = %d\n", slut);
반환 난수 (이 설정 될 때까지 변수가) 쓰레기를 포함,하지만 두 번째 printf
내가 어떤 임의의 숫자를 눌러도, 1를 작성 유지하기 때문에 논리적이다.
int scanStart() {
int start, i;
for(i=1; stationer[i] != '\0'; i++) {
printf("#%d: %s\n",i,stationer[i]);
}
scanf("%d",&start);
return start;
}
내가 빌드, 다시, 다시 시작 IDE를 시도, 여전히 내가 할 모든 1. 어떤 아이디어입니다 : 는 내가 너무 그것을 원하는 것을하는, 너무 scanStart()
방법을 가지고있다?
또는 scanf의 반환 값을 별도의 변수에 저장하고 scanf가 실제로 성공했는지 확인하십시오. –