나는이 사이트와 다른 사이트를 이미 검색했음을 말해야하지만 내 문제를 해결할 수는 없다. 일부 목록에서 작동하는 프로그램을 만들고 있습니다. 코드는 두 번째 목록의 값을 첫 번째 목록으로 복사합니다. 목록 2의 현재 값은 목록 1의 값보다 작아야합니다.이 조건이 true이면 값이 복사됩니다. 그러나 그것은 중요한 것이 아닙니다. GetExitValue()
이라는 함수를 만들었습니다.이 함수는 메인의 끝에서 사용자의 입력을 계속할지 여부를 결정합니다. 그리고 이것이 문제입니다. main (잠시 동안) 함수를 호출하면 n
(No)을 삽입해도 프로그램이 계속 실행됩니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니? 대단히 감사합니다 !!do-while 문에서 잘못된 논리가 있습니까?
내 코드가 semplified입니다.
int main(){
do{
.
.
.
.
printf("\nProgram finished. Do you wish to re-execute the program? \n\nPress y/Y (Yes) to continue. Press n/N (No) to exit. ");
}
while(GetExitValue() == 'y' || 'Y'); // **Problem here!!**
return 0;
}
char GetExitValue(){
char exit_value;
scanf(" %c", &exit_value);
while(exit_value != 'y' && exit_value != 'n' && exit_value != 'Y' && exit_value != 'N'){
printf("Value incorrect. insert y or n!!\n");
scanf(" %c", &exit_value);
}
return exit_value;
}
입니다. 너는 그렇게 할 수 없다. – SLaks
'GetExitValue() == 'y'|| GetExitValue() == 'GetExitValue'가 잘 작동하면 =='Y'' – jasilva
이것은 잘 작동하지 않습니다 ... : \ – IvanProsperi94