前言 其实这个问题就是错的,printf中根本没有%lf格式输出这一说,这是笔者自己常犯的错误,特此与大家分享一波。 scanf中的格式控制 printf中的格式控制 在printf中,无论是float类型还是double类型,输出都需要用%f,在有些系统中用%lf也不会出错,但是尽量还是按照标准来。 参考 《算法笔记》... ...
float和double都可以用%f和%lf输出,一般没有差别,但是如下例子中就有了差别:float a = 9.1234567891234567890e+30;double b = 9.1234567891234567890e+30;//printf("input a number:");//scanf("%lf",&a);printf("%f\n",a);printf("%lf\n",b);getch();return 0;输出为:d和%ld的差...
f为double类型,需要两个字节表示,所以,printf在遇到%f时即将a,b的两个整型数据都读了去,而到了需要输出%d的时候,只能读取b的下一个单元,自然不是所期望的数据了。但是有朋友说%f是float类型,%lf才是double类型,具此我特意查阅了MSDN和Linux man手册,均没有发现此类描述,在linux man手册中,...
printf("m=%f") 中的引号中 %f 是格式定义,按浮点数输出 当然,printf函数里应该有变量才行,如 printf("m=%f",rad),rad 的值就按浮点数输出 printf("m=lf")引号中的全部是字符串,原样输出
根据题目中已给出的数据的输入和输出形式,程序中输入输出的语句的正确内容是( ) int main( ) { int x;float y; printf(“enter x,y:"); 输入语句 ; 输出语句; return 0; } 输入为:2□3.4 输出为:x y=5.40A、scanf(“%d,%f”,&x,&y);printf(“x y=4.2lf”,x y);B、scanf...