我该怎么办? LNK2019: 无法解析的外部符号
来源:百度知道 编辑:UC知道 时间:2024/05/05 10:44:27
这是programming language上面的范例
但编译出错
本人很菜,希望能说的具体点,谢谢:)
#include <stdio.h>
#include <stdlib.h>
#define MAXOP 100
#define NUMBER '0'
main()
{
int getop(char[]);
void push(double);
double pop(void);
int type;
double op2;
char s[MAXOP];
while ((type=getop(s))!=EOF){
switch (type){
case NUMBER:
push(atof(s));
break;
case '+':
push(pop()+pop());
break;
case '_':
push(pop()-op2);
break;
case '*':
push(pop()*pop());
break;
case'/':
op2=pop();
if (op2!=0.0)
push(pop()/op2);
else
printf("error:zero divisor\n");
break;
case'\n':
printf("\t%.8g\n",pop());
break;
default:
printf("error:ubknow command %s\n",s);
break;
}
但编译出错
本人很菜,希望能说的具体点,谢谢:)
#include <stdio.h>
#include <stdlib.h>
#define MAXOP 100
#define NUMBER '0'
main()
{
int getop(char[]);
void push(double);
double pop(void);
int type;
double op2;
char s[MAXOP];
while ((type=getop(s))!=EOF){
switch (type){
case NUMBER:
push(atof(s));
break;
case '+':
push(pop()+pop());
break;
case '_':
push(pop()-op2);
break;
case '*':
push(pop()*pop());
break;
case'/':
op2=pop();
if (op2!=0.0)
push(pop()/op2);
else
printf("error:zero divisor\n");
break;
case'\n':
printf("\t%.8g\n",pop());
break;
default:
printf("error:ubknow command %s\n",s);
break;
}
你在主函数中定义了
int getop(char[]);
void push(double);
double pop(void);
这三个函数。但没有具体子函数可供调用。
int getop(char[]);
void push(double);
double pop(void);
这3个函数,没实现代码
你应该写出这3个函数代码,哪怕是空的,如下:
int getop(char[])
{
}
void push(double)
{
}
double pop(void)
{
}
空代码,编译能通过,但运行会出错。
书的例子,肯有有这3个代码的实现的