C++语言编程

2025-03-19 00:48:17
推荐回答(1个)
回答1:

这就是运算符号的优先级的问题。
C语言中,非零为真,k=2,所以循环执行2次。
第1次:
  s*= ++m/k--;  ++m,++在变量左侧,所以先计算m=m+1=4,
                k--, --在变量右侧,所以先使用k=2进行m/k=2的计算,然后再k=k-1=1
                最后计算s=s*2 = 10
执行第1次循环后:m=4, k=1, s = 10

第2次:
  重复上面过程: ++m, m=5;
                m/k=5/1=5; k=k-1=0
                s= s*5 = 50
执行第2次循环后:m=5, k=0, s = 50
所以,输出结果是:0,5,50