c语言程序题,关于查找数组b中是否存在一个数字。不知道哪里出错了……求解?
发布网友
发布时间:2022-05-09 20:59
我来回答
共3个回答
热心网友
时间:2023-10-19 13:28
#include <stdio.h>
// 函数声明的形参列表与定义的不同
int search(int x,int b[],int lenth);//查找某个数字是否出现在这个
int main()
{
int a[100]= {1,2,3,4,5,6,7,8,9,10,11,};
int b[10];
int i=0;
int ctn=0;
int k;
for(i=0; i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]); i++) {
b[i]=a[i];
}//把数组a的值赋给b数组
int x;
printf("输入一个要查找的数字\n");
scanf("%d",&x);
int lenth=sizeof(b)/sizeof(b[0]);
// 定义了就使用
k=search(x,b,lenth);
//<<<<<<-------------------------------------------------------不知道哪里出错了,总之编译的时候会出现:“ [Note]declared here”,求解
// 逻辑错误
if(k!=-1) {
printf("%d在这个数组中的第%d个\n",x,k);
} else {
printf("该数组中不存在%d\n",x);
}
return 0;
}
int search(int x,int b[],int lenth)
{
int ret;
// for循环语法错误
for(ret = 0; ret < lenth; ++ret) {
if( x == b[ret] )
return ret+1;
}
return -1;//返回函数值
}
热心网友
时间:2023-10-19 13:29
search函数声明的和定义不一致,声明中也应该包含参数
热心网友
时间:2023-10-19 13:29
for(i=0;ib[i]=a[i];//这是些什么东西??!!!!追问抱歉,那个没打全……
它是for(i=0;i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]);i++){
b[i]=a[i];
}//把数组a的值赋给b数组
追答改后,还有问题吗?
for(ret=0;retif(x==b[ret]){//这又什么东西??!!!!!