我正在撰寫一個程式來搜索陣列元素,如果輸入的元素與任何陣列元素都不匹配,則回傳條件陳述句“找不到陣列元素”。我嘗試了以下代碼:
#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");
}
}
}
但是當輸入一個不在陣列中的元素時,條件陳述句“Array element not found”會列印n次,如下所示:

我想要的輸出是如果在陣列中找不到陣列元素,則條件陳述句應該只列印一次。
我應該嘗試任何不同的方法嗎?
uj5u.com熱心網友回復:
替換break;為return 0;結束程式。然后將列印“未找到陣列元素”的行移到回圈之后。回圈體運行多次,因此如果將其放入回圈體中,當然可以多次列印“找不到陣列元素”。
還要\n在字串末尾添加換行符,以便程式的輸出可讀。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/530476.html
標籤:C指针
