【c语言】unresolved external symbol "void __cdecl print(int * const,int)" (?print@@YAXQAHH@Z)
前言:在写折半排序的时候,出了一个错误,找了一下,终于发现问题了。
程序中我自定了函数,又引用了stdio.h文件,所以一直保证错误
#include<stdio.h>
#define N 10
/*
折半查找:
**/
void main(){
void print(int a[],int n);
int a [N] = {1,2,3,4,5,6,7,8,9,10};
print(a,N);
int m = 0,low = 0,high = N-1,mid = 0,k = -1;
printf("输入查找的元素:");
scanf("%d",&m);
while(low<=high){
mid = (low+high/2);
if(m<a[mid])
high = mid-1;
else
if(m>a[mid])
low = mid+1;
else{
k = mid;
break;
}
}
printf("元素下标为%d\n",k);//注意这块
}
void printf(int a[],int n){//将函数名修改成print() 就可以了
for(int i=0;i<n;i++){
if(i%5==0)
printf("\n");
printf("%d\t",a[i]);
}
}
经过查找找到问题所在,就在我自己定义的函数名printf()和调用函数系统的函数printf()重复的了。所以出现这个问题。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步