1. 程式人生 > >【c語言】unresolved external symbol "void __cdecl print(int * const,int)" (

【c語言】unresolved external symbol "void __cdecl print(int * const,int)" (

前言:在寫折半排序的時候,出了一個錯誤,找了一下,終於發現問題了。

程式中我自定了函式,又引用了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()重複的了。所以出現這個問題。