아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
빈티지한매사촌80
빈티지한매사촌8021.04.16

C언어 비쥬얼 스튜디오 왜 실행이 안되는 걸까요?

C언어 배우는 중입니다.

다른 코딩 잘만 되는데 왜 저거만 파일을 찾을 수 없다고 뜨는걸까요? ㅠㅠ 어디에 문제가 있는거죠?

그 SDL검사 그거도 아니요 체크했습니다.

#include <stdio.h>


void mian()

{

int score1, score2, score3, credit1, credit2, credit3, a, b, c, A, B, C, D, F;

float average;


A = 4, B = 3, C = 2, D = 1, F = 0;

scanf("%d, %d %d, %d, %d, %d", &score1, &score2, &score3, &credit1, &credit2, &credit3);

if (score1 >= 90)

a = credit1 * A;

else if (score1 >= 80)

a = credit1 * B;

else if (score1 >= 70)

a = credit1 * C;

else if (score1 >= 60)

a = credit1 * D;

else

a = credit1 * F;


if (score2 >= 90)

b = credit2 * A;

else if (score2 >= 80)

b = credit2 * B;

else if (score2 >= 70)

b = credit2 * C;

else if (score2 >= 60)

b = credit2 * D;

else

b = credit2 * F;


if (score3 >= 90)

c = credit3 * A;

else if (score3 >= 80)

c = credit3 * B;

else if (score3 >= 70)

c = credit3 * C;

else if (score3 >= 60)

c = credit3 * D;

else

c = credit3 * F;


average = (float)(a + b + c) / (credit1 + credit2 + credit3);

printf("평균 평점은 %f\n", average);

}

55글자 더 채워주세요.
답변의 개수
2개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.04.17

    아마 이미 해결을 했을 수도 있지만 안전한 함수를 Visual Studio는 권장하기 때문입니다.

    화면상에도 나와 있지만 컴파일이 제대로 되지 않아서 실행파일이 만들어지않았습니다.

    빌드가 실패하면 프로그램을 실행할 수 없습니다.

    다른 질문을 보니 이미 scanf_s 를 사용해서 해결을 한 것으로 파악했습니다.

    C4996 에러를 피하기 위해서는 아래와 같이 에러 억제를 하는 방법도 있습니다.

    #include <stdio.h> #pragma warning(disable:4996) // 에러 억제! int calculate(int score, int credit) { const int A = 4; const int B = 3; const int C = 2; const int D = 1; const int F = 0; if (score >= 90) { return credit * A; } else if (score >= 80) { return credit * B; } else if (score >= 70) { return credit * C; } else if (score >= 60) { return credit * D; } else { return credit * F; } } int main(int argc, const char * argv[]) { int score1, score2, score3, credit1, credit2, credit3, a, b, c; float average; scanf("%d %d %d %d %d %d", &score1, &score2, &score3, &credit1, &credit2, &credit3); a = calculate(score1, credit1); b = calculate(score2, credit2); c = calculate(score3, credit3); average = (a + b + c) / (float)(credit1 + credit2 + credit3); printf("평균 평점은 %f\n", average); return 0; }


  • 안녕하세요

    스크린샷보니까 빌드오류가 발생하는것같아보이네요

    scanf를 scanf_s 를 변경하라는 오류메세지가있는데

    한번 변경해보시고 다시 빌드한번 해보시면 정상동작할수있을것같아보입니다.

    변경되고 다른 오류메세지가 뜬다면

    다시 질문해주세요.

    참고로 보통 콘솔 오류메세지를 해석해서 해결될수있고 구글링에 검색해도 쉽게찾아보실수도있습니다.