-6
#include<stdio.h>
int main()
{
int num[5], i, s, no;
for(i=0; i<5 ;i++)
{
scanf("%d",&num[i]);
}
printf("enter a number\n");
scanf("%d", &no);
s=search(no, &num[0]);
printf("%d\n",s);
search1(no,num);
}
int i=0;
int search(int no,int *num[i])
{
int x,i;
for(i=0;i<5;i++)
{
if(no == *num[i])
return 1;
}
return 0;
}
int search1(int no,int *num)
{
int i,x,k;
printf("your number %d is present in the list",no);
printf("number\tfrequency");
for(i=0;i<5;i++)
{
for(x=0;x<i+1;x++)
{
k=0;
if(num[i]==num[x] &&i!=x)
{
k=0;
break;
}
else
{
k=1;
continue;
}
}
if(k==1) {
printf("%d",num[i]);
}
}
}
この質問は、配列を関数に渡すことに基づいています。私のコードはコンパイルされていますが、実行時に入力番号を尋ねた後、そのリストの存在を確認するために、セグメンテーションエラーが表示されます。なぜ私のプログラムのセグメンテーションエラー
:
は、これは良いスタート点であってもよいです。それは良くありません。 – abelenky
あなたのコードを他の人間が読むことは非常に困難です。あなたがコードを書く前に、受け入れられた書式スタイルを採用してください。私の見解では、あなたのコードを提示する方法は、あなたが考えているやり方を反映しています。 –
...おそらくあなたの考えはあなたのタイプに先んじているかもしれませんが、厳密なフォーマットスタイルのもう一つの利点は、コードを準備する際に、それらの考えを考慮して検討する時間を許すということです。 –