c语言,求输出等于几,为什么
intk=11;k=1/3*k++;printf("%d",k);大家可以用vc试一下,结果是1,但是用turboc的结果为0,不知道为什么!...
int k=11;
k=1/3*k++;
printf("%d",k);
大家可以用vc试一下,结果是1,但是用turboc的结果为0,不知道为什么! 展开
k=1/3*k++;
printf("%d",k);
大家可以用vc试一下,结果是1,但是用turboc的结果为0,不知道为什么! 展开
5个回答
展开全部
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
4楼说的1/3*k等于0,再++
所以结果是1 是错误的,因为是K++,也就是先输出K的值后K再加1
展开全部
1 K++是先用K的值再自加.所以:3*11再自加1.(自加运算级高)
2 1/34后为K值.结果为零.
你写完整了吗?怎么这么别扭.
2 1/34后为K值.结果为零.
你写完整了吗?怎么这么别扭.
展开全部
0
应该将3*K++看成整体,首先计算分母为34,然后计算除法
应该将3*K++看成整体,首先计算分母为34,然后计算除法
展开全部
应该是0。因为分子分母都不是float型
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询