最赞回答 / bruce王
我也是新手,我理解的是,i是整形,1/(i*i)的结果也是整形,即取整数部分。因此最后期望输出为1,想要输出小数的话在i*i前面加个强转但我跑了下输出为0,这个原因是你定义的fun函数为int 而返回值y为double,出现返回值错误。将int改为double就好
2017-03-31
最赞回答 / 慕粉4204050
C中 先算a*2 得10, 10减9得1,然后整体取反! 得到0 所以C项不正确D中 ++b 表示先给b加1 然后把所得的值赋给b 这时候b为10 然后10-a*2=0 所以D项不正确
2017-03-30
最赞回答 / 奇怪的阿怪
对于A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的来说,这种区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次,而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。
2017-03-30
最新回答 / ruibin
printf("小明现在在慕课网上学习IT技术%f\n"); printf("%f小明现在在慕课网上学习IT技术"); printf("%f\n小明现在在慕课网上学习IT技术"); 你的%f\n只是起了占位符的作用,所以结果一样,如果在后面跟个变量就不一样了。
2017-03-29
最新回答 / Dameinvy
我们先来看n加到m-1的时候,判断条件n<m成立,所以执行循环体,执行完之后执行n++语句,此时n=m,再进行判断n<m,此时n=m,故不成立,所以不再循环,此时跳出循环时n=m;如果是n<=m的话,n=m时判断循环条件n<=m成立,执行循环体,执行之后再n++;此时n=m+1;再判断条件n<=m不成立,然后跳出循环,这时的n=m+1啦~ 所以应该是n<m。不知道我说的明不明白。。
2017-03-29