#include main() { int x=1,y=3; x=9-(--y)-(--y); printf("%d",x); } #include main()#includemain(){ int x=1,y=3; x=y*4.8/2; printf("%d",x);}谁能帮我解释下这两个程序的运行过程?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 16:02:08
![#include main() { int x=1,y=3; x=9-(--y)-(--y); printf(](/uploads/image/z/1781315-35-5.jpg?t=%23include+main%28%29+%7B+int+x%3D1%2Cy%3D3%3B+x%3D9-%28--y%29-%28--y%29%3B+printf%28%22%25d%22%2Cx%29%3B+%7D+%23include+main%28%29%23includemain%28%29%7B++++int+x%3D1%2Cy%3D3%3B++++x%3Dy%2A4.8%2F2%3B++++printf%28%22%25d%22%2Cx%29%3B%7D%E8%B0%81%E8%83%BD%E5%B8%AE%E6%88%91%E8%A7%A3%E9%87%8A%E4%B8%8B%E8%BF%99%E4%B8%A4%E4%B8%AA%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B%3F)
#include main() { int x=1,y=3; x=9-(--y)-(--y); printf("%d",x); } #include main()#includemain(){ int x=1,y=3; x=y*4.8/2; printf("%d",x);}谁能帮我解释下这两个程序的运行过程?
#include main() { int x=1,y=3; x=9-(--y)-(--y); printf("%d",x); } #include main()
#include
main()
{
int x=1,y=3;
x=y*4.8/2;
printf("%d",x);
}
谁能帮我解释下这两个程序的运行过程?
#include main() { int x=1,y=3; x=9-(--y)-(--y); printf("%d",x); } #include main()#includemain(){ int x=1,y=3; x=y*4.8/2; printf("%d",x);}谁能帮我解释下这两个程序的运行过程?
第一个其实就是先进行--y运算得到y=2,然后再进行--y得到y=-1,x=9-(1)-(1),因为你把--y看作等于a==--y,对自减做两次就是了.a只是一个变量,只可能唯一个值,不可能既为2,又为1.
第二个其实是数据类型的转换,先计算y*4.8得到的为单精度也就是14.4,再进行除2,得到7.2,由于x的类型为整型,故单精度的7.2要转换成整型的,也就是7了