c语言,求输出等于几,为什么

来源:百度知道 编辑:UC知道 时间:2024/05/25 06:14:20
int k=11;
k=1/3*k++;
printf("%d",k);
大家可以用vc试一下,结果是1,但是用turboc的结果为0,不知道为什么!

1
1/3*k等于0,再++
所以结果是1

0

应该将3*K++看成整体,首先计算分母为34,然后计算除法

1 K++是先用K的值再自加.所以:3*11再自加1.(自加运算级高)
2 1/34后为K值.结果为零.
你写完整了吗?怎么这么别扭.

0,3/1,3和1都是INT,所以等于0,如果定义了3和1为FLOAT,就是0。333333,再下来0*K,还是0
4楼说的1/3*k等于0,再++
所以结果是1 是错误的,因为是K++,也就是先输出K的值后K再加1

应该是0。因为分子分母都不是float型