我正在编写一个程序,用于搜索数组元素,如果输入的元素与任何数组元素都不匹配,则返回一个条件语句“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次,如下所示:
我想要的输出是,如果在数组中找不到数组元素,条件语句应该只打印一次。
有没有别的方法可以试试?
1条答案
按热度按时间kwvwclae1#
将
break;
替换为return 0;
以结束程序。然后将输出“Array element not found”的行移到循环后。循环体运行多次,因此如果将其放在循环体中,当然可以多次输出“Array element not found”。在字符串的末尾加上一个换行符,这样程序的输出是可读的。