请教无法解析的外部符号问题
// 9.3.cpp : 定义控制台应用程序的入口点。//输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换
#include "stdafx.h"
int input(int array);
int max_min_value(int array);
int output(int array);
int number[];
int _tmain(int argc, _TCHAR* argv[])
{
input(number[10]);
max_min_value(number[10]);
output(number[10]);
return 0;
}
int input(int number[10])
{
int i;
printf("enter the number:\n");
for(i=0;i<10;i++)
scanf_s("%5d",&number[i]);
printf("\n");
return 0;
}
int max_min_value(int array[10])
{
int *max,*min;
int *p,*array_end;
array_end=array+10;
max=min=array;
for(p=array+1;p<array_end;p++)
{
if(*p>*max)p=max;
else if(*p<*min)min=p;
}
*p=array[0];array[0]=*min;*min=*p;
*p=array[9];array[9]=*min;*min=*p;
return 0;
}
int output(int array[10])
{
int *p;
printf("exchange the 10 numbers,the result is:\n");
for(p=array;p<array+10;p++)
printf("%5d",*p);
return 0;
}
以上的程序在编译的时候出现以下错误,望达人赐教:
1>9.3.obj : error LNK2019: 无法解析的外部符号 "int __cdecl output(int)" (?output@@YAHH@Z),该符号在函数 _wmain 中被引用
1>9.3.obj : error LNK2019: 无法解析的外部符号 "int __cdecl max_min_value(int)" (?max_min_value@@YAHH@Z),该符号在函数 _wmain 中被引用
1>9.3.obj : error LNK2019: 无法解析的外部符号 "int __cdecl input(int)" (?input@@YAHH@Z),该符号在函数 _wmain 中被引用
1>9.3.obj : error LNK2001: 无法解析的外部符号 "int * number" (?number@@3PAHA)
1>F:\coding\C\9.3\Debug\9.3.exe : fatal error LNK1120: 4 个无法解析的外部命令
1>生成日志保存在“file://f:\coding\C\9.3\9.3\Debug\BuildLog.htm”
1>9.3 - 5 个错误,0 个警告
如何解决无法解析的外部符号问题,万分感谢。
----------------解决方案--------------------------------------------------------
upup
----------------解决方案--------------------------------------------------------
int main(int argc, char * argv[])
{
return 0;
}
/*
主函数 int main(int argc, char * argv[]) ,
你的程序中只要 int main(void) 就可以
*/
[[italic] 本帖最后由 cosdos 于 2007-11-27 04:56 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define MAX 10
void input(int * array, int n);
void max_min_value(int * array, int n);
void output(int * array, int n);
int main(void) /* 没必要 int main(int argc, char * argv[]) */
{
int number[MAX];
input(number, MAX);
max_min_value(number, MAX);
output(number, MAX);
getchar();
return 0;
}
void input(int * array, int n)
{
int i;
printf("enter the number: ");
for(i = 0; i < n; i++)
{
if(scanf("%d", &array[i]) != 1)
{
while(getchar() != '\n');
printf("Error, No: %d\n", i + 1);
i--;
continue;
}
while(getchar() != '\n');
}
}
void max_min_value(int * array, int n)
{
int max, min, i;
max = min = array[0];
for(i = 0; i < n; i++)
{
if(array[i] > max)
max = array[i];
else if(array[i] < min)
min = array[i];
}
printf("MAX: %d MIN: %d\n", max, min);
}
void output(int * array, int n)
{
int i;
printf("exchange the 10 numbers,the result is:\n");
for(i = 0; i < n; i++)
printf("%5d", array[i]);
}
[[italic] 本帖最后由 cosdos 于 2007-11-27 04:56 编辑 [/italic]]
----------------解决方案--------------------------------------------------------