#include <stdio.h>
int main()
{
char letter;
while (1)
{
printf("소문자를 입력하세요\n");
scanf("%c", &letter);
if (letter == 'A')
break; *// 요기에요 요기!!
if (letter < 'a' || letter > 'z')
continue; *// 요기에요 요기!!
letter = letter - 32;
printf("변환된 대문자는 %c입니다\n", letter);
}
}
위 코드는 잘 작동됨
Q1.저 코드에서 break문 위에 출력문을 적고 컴파일할시 아래 if조건문은 적용이 아예 안됨 ( 아래 if조건문을 만족하는 소문자를 적어도 아무것도 안뜸)
Q2.continue 구문의 의미는 저 위에 조건을 만족할시 다시 while로 가서 입출력을 받고 letter = letter -32;로 향하는건가..?
10개의 댓글
무분별한 사용은 차단될 수 있습니다.
달세뇨
1. 중괄호로 블록은 만들었니
2. Continue 하면 while 조건체크부터 다시함
cocoLee
1. 응? 이해가 잘 안되네 어느 지점을 말하는거야?
2.이해됬어
개쉛기
break => 반복문 while (false) 가 실행됨
continue => 반복문 while ( condition ) 이 실행됨
cocoLee
고마워요
VEngineer
문자열을 비교할때는 if( a == b) 이런식으로 하면안됨! strcmp같은 문자열비교함수를 이용해!
cocoLee
고마워 ㅠ_ㅠ 정수는 할만한데 문자열/문자는 식으로 구분하기 너무 어려워서 .. 고민이양
포고양이
break = 지금 있는 문을 나감
continue = 밑에거 무시하고 위에부터 다시 시작
cocoLee
와 설명 기가막힌다 ㅋㅋㅋ 최고야!
포고양이
letter가 a보다 크고 z보다 작아야지 동작하겠지
cocoLee
맞아맞아 이 부분이랑 밑에 continue 출력문이 붙어있길래 이어지는건줄 알았어
고마워