问几个C++问题~

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:59:38
k=i/++i

结果
k=1
为什么
我觉得是0

k=i/++i这句的执行顺序先是计算i=i+1,然后计算k=i/i;你说答案应该是多少……

k=i/++i这句的执行顺序先是计算i=i+1,然后计算k=i/i;
k如果=0;

所以 执行了 0=0+1;

程序如果光求值 就会执行到0=0+1 时候值就给了k
不会在去执行 " / "

所以k的值是 1不是0

k=i/++i这句的执行顺序先是计算i=i+1,然后计算=i/i;其中前面的i也是初始的加1后的值所以多加了1一样大啊k=1
比如i=1则着个表达式是;k=2/2=1
你有注意一个i的值变后在它后面执行的都会改变.

请注意程序的优先级!
前置++优先级为2
等号 优先级为16
除号 优先级为5
所以,先会 对i+1;
然后进行i/i;
然后再赋值~
所以k=1;