C语言 试图在程序中返回条件语句以搜索数组元素

vqlkdk9b  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(101)

我正在编写一个程序,用于搜索数组元素,如果输入的元素与任何数组元素都不匹配,则返回一个条件语句“Array element not found”。我尝试了以下代码:

#include <stdio.h>
 
int main()
{
    int a[100];
    int n,i,num;
    int *p=a;
    printf("Enter size of array:");
    scanf("%d",&n);
    printf("Enter array elements:");
    for(i=0;i<n;i++){
        printf("Enter the element [%d]:",i);
        scanf("%d",p+i);
    }
    printf("Enter an element: ");
    scanf("%d",&num);
    for (i=0;i<n;i++){
        if (*(p+i)==num){
            printf("Array element Location is %d",i);
            break;
        }
        else{
            printf("Array element not found");
        }
        }
    }

但是,当输入数组中没有的元素时,条件语句“未找到数组元素”将打印n次,如下所示:

我想要的输出是,如果在数组中找不到数组元素,条件语句应该只打印一次。
有没有别的方法可以试试?

kwvwclae

kwvwclae1#

break;替换为return 0;以结束程序。然后将输出“Array element not found”的行移到循环后。循环体运行多次,因此如果将其放在循环体中,当然可以多次输出“Array element not found”。
在字符串的末尾加上一个换行符,这样程序的输出是可读的。

相关问题