못정함

C언어) 3-2장: 데이터 입력 본문

C언어 공부/C언어 독학 (교재)

C언어) 3-2장: 데이터 입력

hadara 2024. 9. 14. 19:00

-입력한 데이터는 (키보드로 타이핑하는 모든 내용은) 문자로 인식됨 -> 변환 과정이 필요함 -> scanf 함수 이용 : printf 함수로 출력할 때 사용하는 변환 문자와 거의 같음

 

*나는 VS code를 사용하고 있는데, 입력값을 받으려면

launch.json 에서 configurations 부분을 수정해줘야한다

  "configurations": [
        {
            "type": "node",
            "request" : "launch",
            "name" : "Launch Program",
            "program": "${workspaceFolder}/config.js",
            "console": "integratedTerminal"
        }
       
    ]
 
이걸 추가해줘야 콘솔에서 입력값을 받을 수 있음
 
그럼 이제 입력은 되는데
 
unable to perform this action because the process is running
 
라는 오류가 뜸
 

code-runner extension 다운받아서 run in terminal 체크해줘야함

 

그럼 이제 터미널에서 입력이 가능하긴한데 뭔가 이상함

 

다시 launch.json으로 돌아가서

 "externalConsole": true,
로 바꿔준다
 

 

그러고 나니 해결됨

 

혹시 그래도 해결이 안 된다면

이 방법을 쓰라는데

나는 안 썼음 

 

tasks.json에


{
    "label": "Open Terminal",
    "type": "shell",
    "command": "osascript -e 'tell application "Terminal"\ndo script "echo hello"\nend tell'",
    "problemMatcher": []
}
 
 
이걸 추가하라는데..
 

해결은 됐는데
이제
 

한국어 깨짐 현상 발생

gpt가

이렇게 하라는데

난 powershell도, command prompt도 git bash도 다 안됨

 


맨 아래 거 추가

C:\Windows\System32\chcp.com 65001

이거 추가해주면 UTF-8을 default로 설정하는 거라고 함

 

 

뭐..아무튼

이것저것 다 안 돼서

난 그냥 한국어를 안 쓰기로함

한국어 교재로 공부하고 있어서 그냥 한국어 인코딩 설정 하려했는데

...................

걍 때려침.. 일단 지금은 시간이 없음

나중에 시간 나면 해결해보겠음


하 그냥

VS code말고 VS를 쓰는 게 맞는 것 같음 그치만 내 교수님이 VS code를 쓰시기 때문에 나도 VS code를 씀...

하...


<입력>

 

*scanf("%d", &a);

-키보드에 입력한 값을 변수에 저장할 때 사용

*변수명 앞에 꼭 '&'를 붙여주기 (ampersand라고 읽음) : 변수의 주소를 구하는 연산자임 <포인터>할 때 나옴

 

 

-한 번에 2개 이상의 변수에 값을 입력할 수 있음

scanf("%d%lf", &a, &b);

2개 이상의 값을 입력할 때는 space bar, tab, enter 를 눌러 구분한다.

 

<문자 / 문자열 입력 시>

-space bar, enter도 하나의 문자로 전달됨.

-space bar, enter, tab을 만나면 그걸 만나기 바로 전까지만 저장되므로 공백 없이 연속으로 입력해야함

-%c(문자), %s(문자열)를 사용

***********배열명에는 '&'를 붙이지 않음***************

 


자료형에 따른 입력 변환 문자

데이터 종류 자료형 입력 변환 문자
정수 (unsigned) short %hd (%hu)
  (unsigned) int %d (%u)
  (unsigned) long %ld (%lu)
  (unsigned) long long %lld (%llu)
실수 float %f
  double %lf
  long double %Lf
문자 char %c
문자열 char 배열 %s 
(&사용 안 한다)