c语言输出输入函数

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:05:16
scanf("%f,%f",&f1,&f2);要使变量f1的值为120;f2的值为-2.3,则可以输入12e1,-2.3后跟回车?我不是明为什么里面的f1输入的是12e1,而不是120呢?
scanf("%f,%f",&d1,&d2);要使变量d1的值为1.2;d2的值为-2.3,则可以输入12e1,-23e-1后跟回车?我不是明为什么里面的d2输入的是-23e-1,而不是-2.3呢?
float f1=123.456 printf("f1=%f,f1=%e"f1,f1)书本是给出的答案是f1=123.456000,f1=1.23456e+02.我不是明的是为什么f1后的123。456000还要加三个0。1.23456e+02后面的为什么是写02.为什么不是2 还有为什么要+号!不要加号不一样是正的嘛?为什么比如输入时书上又可以12e-1的形式!这两种形式有什么不同!在程序上比如两种形式搞乱会不会出错!

scanf("%f,%f",&f1,&f2);要使变量f1的值为120;f2的值为-2.3,则可以输入12e1,-2.3后跟回车?我不是明为什么里面的f1输入的是12e1,而不是120呢?

这里面的12e1指的是12*10的1次方;

scanf("%f,%f",&d1,&d2);要使变量d1的值为1.2;d2的值为-2.3,则可以输入12e1,-23e-1后跟回车?我不是明为什么里面的d2输入的是-23e-1,而不是-2.3呢?

这里面的-23e-1指的是-23*10的-1次方;

float f1=123.456 printf("f1=%f,f1=%e"f1,f1)书本是给出的答案是f1=123.456000,f1=1.23456e+02.我不是明的是为什么f1后的123。456000还要加三个0。1.23456e+02后面的为什么是写02.为什么不是2 还有为什么要+号!不要加号不一样是正的嘛?为什么比如输入时书上又可以12e-1的形式!这两种形式有什么不同!在程序上比如两种形式搞乱会不会出错!

第一个问题:后面的3个0是float类型默认的保留字节,虽然在数字里面没意义,但只要你不限制它输出多少位的话,它会按照他的默认格式输出;
第二个问题:这个也是科学记数法有+有0在前面其实没多大意义,可以省略的,这个没关系的;

例如:12e-1,这些方式都是科学记数法,只是一种书写形式,当然从语法上说,多种形式书写,都是正确的,但是要从规范上出发,代码中还是只出现一种形式倒好些。

比较乱,看不明白