#include <stdio.h>
int main(void){
double under, over, under1, over1, result;
char exit;
while (1){
printf("분수 계산을 실행하는 프로그램입니다. 분모, 분자를 차례대로 입력해주세요:");
scanf_s("%f %f %f %f", &under, &over, &under1, &over1);
result = (over / under) + (over1 / under1);
printf("결과값은 %lf 입니다. ", result);
printf("프로그램을 종료하시려면 c를 입력해주세요, 한번 더 계산을 실행하고 싶으시면 c를 제외한 아무키나 눌러주세요");
scanf_s(" %c", &exit);
if (exit = 'c'){
break; // 무슨 키를 눌러도 다 빠져나가버림... exit를 c로 입력받아도 빠져나가고 d를 입력받아도 빠져나가고.,
}
else{
puts("리턴");
}
}
}
어떻게 해야하나요,... ㄷㄷ c일때만 빠져나갸야하는데 왜 개나소나 다 쳐도 빠져나가버려
아스키문제아닌가?
%c앞에 왜 띈거
== 왜 안한거
오랜기억이지만 == << 이게 맞지않나 =하나가 아니라 ==였던것같은데
%c 앞에 띄어쓰기는 내가 넣으라고 한 거. fflush(stdin); 쓰지 말고 그렇게 하라고 했고.
== 해서도 안되서 저렇게 고쳐서해봤습니다 근데도 안되네여..
지금 보니 저 새퀴 if 문에 비교할 때 ==가 아니라 =로 했네 ㅡㅡ; 그럼 당연히 무조건 참이 되지. if(exit = 'c') : exit에 'c'를 대입하고 'c'가 0이 아닌지 비교 => 무조건 참.
=
시발 여기가 무슨 컴파일러냐. 문법적인건 알아서해
바닐라웨어님 처럼 do while로 해도 안되네여 ;;
==에 'c' 이거말고 아스키 코드값하고 비교하게 해봐
테스트 해봤는데 scanf_s가 표준에 안맞다. 쓰지마
ㅇㄹㅇㄹ// c 아스키코드값 99로 바꿔서해봐도 안대네여..
stdio.h 인클루드 하기 전에 #define _CRT_SECURE_NO_WARNINGS 집어넣고 _s 빼고 ==으로 바꾸고 돌려
ㄹ// 그렇게 하니까 되네여 감사합니다