01/10/2018, 09:34

Warning: mảng "tim" ko thể control all path giải quyết thế nào?

Mấy huynh tìm giúp e lỗi với, lỗi warning: mảng “tim” ko thể control all path.

#include <iostream>	
using namespace std;
const   int arrsize = 5;
int arr[arrsize];

void nhap ( int arr[], int arrsize );
void xuat ( const int arr[], int arrsize );
bool tim ( const int arr [], int  arrsize, int x );

int main ()
{
	int  b;
	int a[arrsize];
	int x; //cau c
	cout << "Nhap vao kich thuoc cua mang:"; cin >>b;
	
	if ( b > 5 )
		cout << "Loi !!!. Mang lon hon quy dinh.";
	else 
	{
		nhap ( a, b);
		xuat ( a, b);
		cout << "
Nhap gia tri can tim trong mang:"; cin >>x;
		if (  tim ( a , b, x) == true )
			cout << "Gia tri " <<x <<" co trong mang. " <<endl;
		else 
			cout << "Gia tri " << x <<" khong co trong mang. "<<endl;
	}
	return 0;
}
void nhap ( int arr[], int arrsize )
{
	int i;
	for ( i = 0; i < arrsize ; i++)
	{
		cout << "Nhap vao gia tri cho phan tu thu "<< i + 1<<" : " ;
		cin >> arr[i];cout <<endl;
	}
}
void xuat ( const int arr[], int arrsize )
{
	cout << "Day so nguyen trong mang la: ";
	for ( int i = 0; i < arrsize;i++)
	{
		if ( i == arrsize - 1 )
			cout <<arr[i];
		else 
			cout <<arr[i]<<" , ";
	}
}
bool tim ( const int arr [], int  arrsize, int x )
{
	for ( int i = 0; i < arrsize; i++)
	{
		
		bool kq = false;
		if ( arr[i] == x )
		{
			kq = true;
			break;
		}
		return kq;
	}
}

Link: http://codepad.org/5qa2BcS2

rogp10 viết 11:36 ngày 01/10/2018

Nếu arrsize <= 0 thì vòng lặp không chạy, và return của bạn nằm trong vòng lặp, vì vậy nên bị warning.

Vũ Trương viết 11:50 ngày 01/10/2018

Em đã sửa được. Cảm ơn bác

Bài liên quan
0