1. scanf() 사용하기 (출처 : https://popbox.tistory.com/17)
Visual Studio 2019 버전에서 scanf() 사용시
오류 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
에러가 남.
scanf()의 오버플로우 가능성 때문에 2010버전 이상의 컴파일들이 sacnf()를 사용못하게 하는 것.
scanf()를 그대로 사용하기 위해서는
전처리기 위쪽에 매크로 정의 필요 :
#define _CTR_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
return 0;
}
C++에서 printf/scanf를 사용하려는데 이런 에러가 났을 때 Tip.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int a, b, answer;
scanf("%d %d", &a, &b);
answer = a * b;
printf("%d\n", answer);
return 0;
}
#include <stdio.h> 를 추가해준다.
2.printf에서 '%'를 문자로 출력 : printf("%%\n");
printf("%%\n");
3.C/C++ 반올림 함수 및 소수 출력 방법
C에서 소수점 첫번째 자리까지 출력하는 방법 :
#include <stdio.h>
#include <math.h>
int main(){
double answer = 3.4;
//올림
printf("%0.1lf\n", ceil(answer));
//내림
printf("%0.1lf\n", floor(answer));
//반올림
printf("%0.1lf\n", round(answer));
return 0;
}
C++에서 소수점 첫번째 자리까지 출력하는 방법 : (자동으로 반올림 됨)
#include <iostream>
using namespace std;
int main() {
//소수점 출력.
cout.setf(ios::fixed, ios::floatfield);
//소수점 아래 1자리 출력
cout.precision(1);
cout << 2.44 << endl; //2.4 출력
cout << 2.445 << endl; //2.4 출력
cout << 2.45 << endl; //2.5 출력
}
소수 이하 2 자리 ( 세 번째 자리에서 반올림 ) 하는 법 :
answer = round((a * b)/2*100)/100; //100을 곱한 뒤 반올림 하고 다시 100으로 나눔. =>소수 3번째에서 반올림 효과
'삼성전자 알고리즘 > 기타' 카테고리의 다른 글
7. 잔실수 모음 (0) | 2019.05.07 |
---|---|
6. C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙 (0) | 2019.05.06 |
4. 자료형의 크기 및 범위 (0) | 2019.05.06 |
3. malloc, new 써야할까 (0) | 2019.05.06 |
3. C++ 구조체와 클래스 차이 (0) | 2019.05.02 |