无法使用IF语句执行完美搜索

时间:2014-03-05 02:41:40

标签: c comparison

我正在通过C编程编写代码并使用visual studio编译程序。

这里我试图从手动输入数组元素中找到数字,但它无法正常工作。


#include<stdio.h>
#define SIZE 3
main()
{
int i=0;
int search_no=0;
int myArray[SIZE];

for(i=0;i<SIZE; i++)
{
    printf("Enter value : ");
    scanf("%d", &myArray[i]);
}

printf("Enter value to search : ");
scanf("%d", &search_no);
for(i=0;i<SIZE;i++)
{
    if(search_no==myArray[i])
    {
        printf("Number found\n");
    break;
    }
if(search_no!=myArray[i])
    {
        printf("Unable to find. Kindly re-check the number\n");
        break;
    }
}


getch();

}

它得到编译,但它没有正确搜索元素,如果我删除Last IF语句然后它完美地工作。如果找到值,我想以两种方式打印消息。

感谢。

1 个答案:

答案 0 :(得分:2)

实际上,如果数组中的第一个值不是您要查找的值,那么您就会离开循环。

在循环之后放置未找到的代码。

int found = 0;
for(i=0;i<SIZE;i++)
{
    if(search_no==myArray[i])
    {
        printf("Number found\n");
        found = 1;
        break;
    }        
}

if(found == 0)
{
    printf("Unable to find. Kindly re-check the number\n");
}