AD

자유 c언어 질문입니당

쿠킹호일사람되기
2019-03-20 23:31:00 849 1 8

문제 출처 : http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=29&sca=1060

d324669c08f32ceccd8a3e7d4c3b65f0.png

이러한 문제를 제가 코드를 짜서 실행했는데 

#include <stdio.h>


int main(void)

{

    float base, height;

    char c; 

    while(1)

    {

        printf("Base = ");

        scanf("%f", &base);

        printf("Height = ");

        scanf("%f", &height);

        printf("Triangle width = %.1f \nContinue? ", base*height / 2);

        

        scanf("%c", &c);

        if (c != 'Y' && c != 'y') break;

    }


    return 0;

}

341fa22fd7ff327e95ba3df86d1b1c0d.png

63c65fda734921600ab40a01586e0cc9.png

scanf("%c",&c)를 입력하기 전에 이미 \n이 입력되었다고 하면서 프로그램이 끝납니다

scanf(" %c",&c)로 할 때는 문제가 원하는대로 작동이 됩니다.


1. char c에 \n이 입력된 이유가 위의 printf문의 Continue?(space bar) 때문에 스페이스바를 입력으로 받은 건가요?

2. height를 입력하고 enter를 칠 때 enter 가 입력된걸까요?

1번은 printf는 출력만하는데 scanf에 영향을 줄 것 같지는 않고

2번은 제가 알기로 c언어는 윗줄부터 실행이 되는데 이미 c에 입력되는 것이 이상하고


원인이 뭘까요..?

후원댓글 8
댓글 8개  
이전 댓글 더 보기
TWIP 잔액: 확인중
▲윗글 Visual Studio 퀄리티 실화? 멘탈조각
자유강의Q&A프로젝트 소개
3
04-11
0
04-06
2
Q&A
c언어 질문이요! [10]
딸랑짤랑
04-03
6
04-03
2
04-02
2
자유
프로그래밍을 하면 [4]
저탱이너무커서한타발림
04-01
2
자유
보안쪽으로 진로잡고 공부시작하려는데 [4]
앙기모띠주는나무띠
04-01
21
자유
백준의 새로운 서비스 [5]
겜잘스만구독함
04-01
9
03-31
1
03-28
1
자유
맥북 질문 [1]
최두식두부가게
03-27
3
03-26
2
자유
여러분들의 생각은? [6]
베일쿤
03-26
9
프로젝트 소개
GuiLocker- A wrapper of dislocker [1]
riemannulus
03-25
2
03-24
1
Q&A
쓰앵님... 알고리즘... [16]
RAnDi65535
03-23
2
Q&A
쓰앵님... 알고리즘... [10]
RAnDi65535
03-23
5
자유
쨔잔 [2]
고9마9웠어요ㅠ
03-22
23
03-22
4
자유
Visual Studio 퀄리티 실화? [1]
멘탈조각
03-22
»
자유
c언어 질문입니당 [8]
쿠킹호일사람되기
03-20
인기글 글 쓰기