当前位置: 代码迷 >> C语言 >> 请教无法解析的外部符号问题
  详细解决方案

请教无法解析的外部符号问题

热度:205   发布时间:2007-11-26 10:58:51.0
请教无法解析的外部符号问题
// 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 个警告

如何解决无法解析的外部符号问题,万分感谢。
搜索更多相关的解决方案: int  number  符号  quot  array  

----------------解决方案--------------------------------------------------------
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]]
----------------解决方案--------------------------------------------------------
  相关解决方案