
기본 입출력문제이다.
C++에서 입출력은 <iostream>, <stdio.h>, <cstdio> 이렇게 총 3가지 방법이 있다.
#include <iostream>
using namespace std;
int main() {
int a,b;
cin >> a,b;
cout << a*b;
return 0;
}
처음에 이렇게했다가 틀렸다. 뭔가 느낌상 저렇게하면 라이브러리 버퍼에서 공백 단위로 끊어서 a,b에 값들을 잘 넣어줄 것 같았는데
오답이었다. 컴파일에러가 나진 않았는데

위의 Warning을 보면 알 수 있듯이 b는 그냥 무시되는 것 같다.
#include <iostream>
using namespace std;
int main() {
int A, B;
cin >> A >> B;
cout << A * B;
return 0;
}
이게 정답이다.
cin >> A >> B;
이렇게하면 라이브러리 버퍼로부터 공백 단위로 잘 끊어서 A와 B에 집어넣는다.
#include <stdio.h>
int main() {
int a,b;
scanf("%d %d",(&a, &b));
printf("%d", (a*b));
return 0;
}
마찬가지로 이렇게 scanf쓰면 공백 단위로 잘 끊어서 넣어줄 줄 알았는데 아니었다.

컴파일에러는 나지 않았지만, Warning을 보니 마찬가지로 무시되는 듯 하다.
#include <stdio.h>
int main() {
int a,b;
scanf("%d %d", &a, &b);
printf("%d", a*b);
return 0;
}
이게 정답이다.
scanf("%d %d", &a, &b);
이렇게하니 공백 단위로 잘 끊어서 읽는다.
앞서 설명한 <stdio.h\> 쓰는 코드에서 using namespace std; 만 추가해주면 된다.
입력이 공백 단위로 끊어서 한 줄로 주어지는 경우 예전에는 귀찮게 코드를 작성했다.
int a,b;
cin >> a;
cin >> b;
또는
int a,b;
scanf("%d", &a);
scanf("%d", &b);
이런식으로 두 줄의 이상의 코드를 작성해야만 했다. 그러나 이제는 공백단위로 끊어서 한 줄로 주는 경우는
코드 한 줄만으로 변수에 잘 집어넣을 수 있게 되었다. GOOD