&


#include <cstdio>

int main(){
    int num=0; // 지역변수는 초기화를 해주자
    scanf("%d", &num); // c언어에서는 함수 외부에 있는 변수의 값을 세팅 해주기 위해서는 &를 붙여야 함. &는 해당 변수의 주소값을 넘겨줌.
    printf("%d", num);
    char s;
    int n = scanf("%d %c", &num, &s); // scanf 의 출력값은 입력을 받아서 성공한 변수의 개수를 반환함.
    printf("%d", n); // 2 출력 (만약 정수와 문자형 변수를 잘 입력 한 경우) 
    // 0 출력 만약 a a 로 입력한 경우 처음부터 제대로 입력받지 못해서, 즉 순차적으로 입력 값이 맞아야 뒤에도 맞출 수 있음.
    if (scanf("%d", &num))
    	print("%d", num) // 과 같이 성공적으로 입력받은 경우를 조건문으로 활용 가능
}

형식 지정자

#include <cstdio>
int main(){
    int num0;
    scanf("%i", &num0); // 0x10 ~ prefix를 어떻게 넣냐에 따라 다름. 0x=16진수
    printf("%i", num0); // 16, 8 <= 010입력한 경우
    
    char ch;
    scanf("%c", &ch); // a
    printf("%c\n", ch); // a
    printf("%i\n", ch); // 97
    
    float f0;
    double d0, d1;
    scanf("%lf %lf %f", &d0, &d1, &f0); // 주소로 넘겨주게 되면 내부적으로는 void 포인터로 받음
    // 내부적으로는 double인지, float인지 알 수 없으므로 형식 지정자로 형을 지정자로
    // 지수부와 가수부 사이즈가 다르기 때문에
    printf("%lf %lf %f", d0, d1, f0);

    
}

개행문자와 getchar()

#include <cstdio>
int main(){
    char c;
    scanf("%c", &c);  // a -> a
    printf("1, %c\n", c);
    
    c = getchar();
    printf("%d", c); // 10 = ascii code로 new line = '\n'
    
    while (getchar() != '\n'); // 버퍼에 남은 엔터를 먹어줌 
    
    scanf("%c", &c); // b -> b
    printf("2, %c\n", c);
    
}

### freopen 과 scanf()
```c
#include <cstdio>
int main(){

    freopen("input.txt", "r", stdin);
    
    int num;
    scanf("%d", &num);
    printf("%d", num);

    
}
profile
You matter, never give up

0개의 댓글

Powered by GraphCDN, the GraphQL CDN