1,
/* e2.c */
#include<stdio.h>
void main()
{
float a1,a2;
double b1,b2;
a1=3141.59;a2=0.000001;
b1=3141.59;b2=0.000001;
printf("%f,%lf\n",a1+a2,b1+b2);
}
结果:
解释:
2。
/* e3.c */
#include<stdio.h>
void main()
{
float x=5/2,y=5.0/2;
printf("x=%f,y=%f\n",x,y);
}
结果:
解释:
3。
/*e4.c*/
#include <stdio.h>
void main()
{
char ch1,ch2,ch;
unsigned char c;
int a;
ch1=80;
ch2=60;
ch=ch1+ch2;
c=ch1+ch2;
a=ch1+ch2;
printf("ch1+ch2=%d\n",ch1+ch2);
printf("ch=%d\n",ch);
printf("c=%d\n",c);
printf("a=%d\n",a);
}
问题1:运行该程序,写出输出结果。并说明为什么存在输出结果的差异?
问题2:如果要求四行输出的结果均为140,在不改变变量的数据类型的基础上,则应修改程序中的哪条语句?怎样修改?