#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.