C语言 设 有说明“int x=10,y=4,f;float m;”,执行表达式“f=m=x/y'后,则f,m的值分别为?再解释下原因 C语言设程序中变量定义语句如下int a=10,b=4flo...

int f(int x,int y){int m=5;m=x/y;return m;}

f\uff08a,b\uff09=f(46,5);
\u6267\u884cf, x=46 y=5
m=x/y=46/5=9
\u8fd4\u56de9
\u6240\u4ee5 f\uff08a,b\uff09/m=9/4=2
\u8f93\u51fa2
\u6240\u6709\u64cd\u4f5c\u90fd\u662f\u6574\u578b\u8ba1\u7b97, \u6240\u4ee5\u7ed3\u679c\u90fd\u662f\u53d6\u6574\u7684.

\uff081\uff092,0 \u8fd9\u4e2a\u5e94\u8be5\u6ca1\u95ee\u9898\u90a3 \u9664\u6cd5
\uff082\uff092,4 \u8fd9\u4e2a\u4e5f\u7b80\u5355\u7684 \u6c42\u4f59\u6570
\uff083\uff096 a+x\u4f1a\u53d8\u6210\u6574\u5f62\u7684 \u7136\u540e\u5728\u9664\u4ee52
\uff084\uff097.0000000 \u9996\u5148\u5c06a+b\u8f6c\u5316\u4e3afloat \u518d\u9664\u4ee5\u4e8c \u6253\u5370\u4f1a\u663e\u793a8\u4f4d
\uff086\uff090 int x =2 int y =3 x/y=0
\u671b\u91c7\u7eb3 \u5982\u679c\u6709\u4e0d\u5bf9\u7684\u5730\u65b9\u8bf7\u6307\u51fa

f=2,m=2.0。
10/4=2.5,但由于x,y均为整型变量,所以结果会截去小数部分取整,所以会将2赋给m,m是实型变量,支持6位小数,所以m=2.0,再把m赋给f,因为f是整型变量,所以赋小数值给它的话会截去小数部分取整,所以f=2.

f = m = 2;
因为x 和y 是int 型, 所以x/y的值得小数部分要舍掉.然后再把这个值赋给m,m = 2.0
你可以自己用vs编译下,就知道了.

扩展阅读:中英文自动翻译器 ... c语言 main 什么意思 ... c语言printf用法例子 ... intx是啥意思 ... c语言中 c n是什么意思 ... c语言符号大全表解释 ... c语言如何定义int ... 语句int p 说明了 ... c语言int a 10 是什么意思 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网