首页 > 解决方案 > 为什么我没有得到任何输出(线性搜索)?

问题描述

#include<iostream>

using namespace std;

int main(){
int n;
int current_element;
cin>>n>>current_element;
int arr[n];
for(int i=0;i<n;i++){
    cin>>arr[i];
}
int i;
for(i=n-1;i<=0;--i){
    if(current_element==arr[i]){
        cout<<i;
    }
    else{
        cout<<"-1";
    }
}
}

我试图做线性搜索程序但没有输出,代码有什么问题?

标签: c++output

解决方案


我认为问题在于您两次声明了“ i ”,这没有任何意义。这是正确的代码:

#include<iostream>

using namespace std;

int main(){
int n, i=0;
int current_element;
cin>>n>>current_element;
int arr[n];
for(i=0;i<n;i++){
    cin>>arr[i];
}

for(i=n-1;i<=0;--i){
    if(current_element==arr[i]){
        cout<<i;
    }
    else{
        cout<<"-1";
    }
}
}

这样,您将“ i ”初始化一次,值为 0,它应该可以工作。


推荐阅读