【发布时间】:2021-03-04 11:57:30
【问题描述】:
我想将函数的返回值赋值给 C++ 中的变量,但程序退出,没有任何输出。
int numberPosition = binarySearch(arr, num, searchNumber);
完整代码---
#include <iostream>
using namespace std;
int binarySearch(int arr[], int num, int searchNumber){
int start=0, end=num;
while(start<=end){
int mid = (start+end) / 2;
if(arr[mid] == searchNumber){
return mid;
}else if(arr[mid] <= searchNumber){
start = mid+1;
}else{
end = mid-1;
}
}
return -1;
}
int main(){
int num, arr[num], searchNumber;
cout<<"How many Elements u want to insert? \n";
cin>>num;
cout<<"\n Enter ut Numbers:- \n";
for(int i=0; i<num; i++){
cin>>arr[i];
}
cout<<"\n Enter the Number u want to search:- ";
cin>>searchNumber;
int numberPosition = binarySearch(arr, num, searchNumber);
if(numberPosition){
cout<<searchNumber<<" is founded at position: "<<numberPosition;
}else{
cout<<searchNumber<<" is Not Founded";
}
return 0;
}
【问题讨论】:
-
您在运行该程序时预期会发生什么?
-
程序里有没有放输出语句?
-
请编辑此内容以包含一个最小的可重现示例。如果我们不知道您是如何写的
binarySearch、arr、num或searchNumber,您希望人们如何提供帮助? -
将返回值赋给变量不会输出该值。你可能想做
#import <iostream>之类的事情,然后在你包含的那一行之后,做std::cout << numberPosition << "\n";。 -
好吧对不起...我包括完整的代码