我不了解变量k发生了什么。例如,我尝试输入1、2、3、4、5,但k显示1。
int a[5];
for (int i = 0; i < 5; i++) {
cin >> a[i];
}
int k = 0;
for(int j = 0; j < 5; j++) {
k += a[j] > a[j+1];
}
cout << k;
a[j] > a[j+1]
产生布尔结果(false
或true
)。在一个int
方面,true
并false
转换为1
和0
分别。
因此,这大致等同于:
for (int j=0; j<5; j++)
if (a[j] > a[j+1])
++k;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句