#2178. C++-编译-数据类型出错,比如printf和scanf的要求输入类型和实际不匹配

C++-编译-数据类型出错,比如printf和scanf的要求输入类型和实际不匹配

Background

Description

数据类型出错,比如printf和scanf的要求输入类型和实际不匹配

i.要求输入类型与变量类型不匹配:

比如:

double a=0;
scanf("%d",&a);    //a是一个double,却要求以%d输入,输入结果可能是一个很接近0的数

ii.要求输入类型与实际输入类型不匹配:

int a=0;
scanf("%d",&a);

这句代码本身没问题,但是如果输入的是"3.4",就只会截取整数部分

iii.输出类型与变量实际类型不符:

double a=0;
printf("%d\n",a);

这会使输出的值变成一个很奇怪的东西(可以自己试一下)

iv.要注意的是,scanf对double类型用%lf,而printf为%f,当然用cin/cout就不会有这个问题了

Format

Input

Output

Samples



Limitation

1s, 1024KiB for each test case.