C++ 12元素数组-查找计数-练习

C++ 12元素数组-查找计数-练习,c++,arrays,C++,Arrays,你们能走路帮我解答这个练习题吗? 我想不出答案是什么 int arr[12] = { 1,3,5,0,7,2,0,4,4,0,8,8 }; int count = 0; for (int i = 0; i<11; i++) { if (arr[i] = arr[i + 1]) count++; else count--; } cout << count << endl; intarr[12]={1,3,5,0,7,2

你们能走路帮我解答这个练习题吗? 我想不出答案是什么

int arr[12] = { 1,3,5,0,7,2,0,4,4,0,8,8 };
int count = 0;
for (int i = 0; i<11; i++) {
    if (arr[i] = arr[i + 1])
        count++;
    else
        count--;
}
cout << count << endl;
intarr[12]={1,3,5,0,7,2,0,4,4,0,8};
整数计数=0;

对于(int i=0;i,在您的示例中,您有:

if (arr[i] = arr[i + 1])
这是
=
,而不是
=
。它不是在检查相等性。因此在示例中:

if (a = 3) {
您将
a
分配给
3
,并检查
3
是否为
true
,事实就是如此。这样就可以轻松了解答案为何为5:

arr=>  { 1,3,5,0,7,2,0,4,4,0,8,8 };
count=>    1,2,1,2,3,2,3,4,3,4,5
如果您感兴趣,请在完成后查看阵列。它将如下所示:

{3,5,0,7,2,0,4,4,0,8,8,8} // Everything has been moved down 1 (except for the final member)

.

在您的示例中,您有:

if (arr[i] = arr[i + 1])
这是
=
,而不是
=
。它不是在检查相等性。因此在示例中:

if (a = 3) {
您将
a
分配给
3
,并检查
3
是否为
true
,事实就是如此。这样就可以轻松了解答案为何为5:

arr=>  { 1,3,5,0,7,2,0,4,4,0,8,8 };
count=>    1,2,1,2,3,2,3,4,3,4,5
如果您感兴趣,请在完成后查看阵列。它将如下所示:

{3,5,0,7,2,0,4,4,0,8,8,8} // Everything has been moved down 1 (except for the final member)

.

记住
=
是赋值,
=
是比较。记住
=
是赋值,
=
是比较。