用vc6.0编的小程序的问题

for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--)我想问下如果strlen(str)==5,那么strlen(str)/2=... for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--)
我想问下如果strlen(str)==5,那么strlen(str)/2==2.5。那么i<(strlen(str)/2)比较过程到底是i 转化成float还是strlen(str)/2转化成int,即取值2?有何规律?并且最后i 到底是能取0,1,2还是只能取0,1?请明白人详细指导。
展开
 我来答
bhtzu
2014-09-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4232万
展开全部
如果strlen(str)==5,那么strlen(str)/2==2,而不是2.5,两边都是整数类型,是整除运算。

因此,最后只能取值0 1两个。
追问
就是说整型变量除以2也是整型了?
追答
如果除数和被除数都是整数,并且没有进行强制转换,那么默认为:整除运算。
如果需要小数,那么你需要将两个中的一个设置为浮点数,比如:
strlen(str)/2.0;

(double)strlen(str)/2;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式