인프런 커뮤니티 질문&답변

JC Lee님의 프로필 이미지
JC Lee

작성한 질문수

홍정모의 따라하며 배우는 C언어

8.5 숫자와 문자를 섞어서 입력받기

교수님! 예제와 똑 같이 작성했는데, A 3 2 입력하고 엔터를 눌러도 행렬이 나오지 않습니다. 왜 이럴까요

작성

·

150

0

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void display(char cr, int lines, int width);
int main()
{
char c; int rows, cols;
while (1)
{ scanf("%c %d %d", &c, &rows, &cols);
display(c, rows, cols);
if (c == '\n')
break;
}
return 0;
}
void display(char cr, int lines, int width) { }
 
교수님 안녕하세요. 짙은 글씨 scanf("%c %d %d", &c, &rows, &cols);에 밑줄이 생깁니다. 그리고 창에 A 3 2 이런식으로 입력하고 엔터를 눌러도 행렬이 나오지 않습니다. 왜 이럴까요?
왕 초보입니다. 자세한 설명 부탁드립니다.ㅠㅠ

답변 2

1

밑줄이 생기는건 무시하셔도 돼요. 밑줄에 커서 올리면 밀줄 나오는 이유가 나오는데요, 이유 읽어보시면 알 수 있다시피 scanf 는 리턴값이 있는 함수인데 (int 를 리턴합니다.) 마치 void 인 것처럼 리턴값을 사용하지 않아서 생긴 것일 뿐이라서 무시하셔도 됩니다. 

혹시 저 코드 그대로 실행하신건가요? 

display 함수 정의 부분이 비어있어요..! 그렇기 떄문에 아무것도 출력되지 않는게 당연합니다. 

강의와 똑같이 display 함수 정의해주세요~ 

0

JC Lee님의 프로필 이미지
JC Lee
질문자

네, 교수님 감사합니다.  함수 정의 후 완료 되었습니다.^^

JC Lee님의 프로필 이미지
JC Lee

작성한 질문수

질문하기