程序运行输出结果是main(){char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d %f\n",n,x);}求详解为什么x=20.000000而不是20.00

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 08:09:51
程序运行输出结果是main(){char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf(

程序运行输出结果是main(){char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d %f\n",n,x);}求详解为什么x=20.000000而不是20.00
程序运行输出结果是
main()
{
char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}求详解
为什么x=20.000000而不是20.00

程序运行输出结果是main(){char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d %f\n",n,x);}求详解为什么x=20.000000而不是20.00
多个赋值从右向左,首先c=50,然后n/=c,即n=n/c=100/50=2,然后f*=n,即f=f*n=10*2=20.0,然后x=f=20.0
结果是输出n为2,x为20.000000
默认6位小数