鱼C论坛

 找回密码
 立即注册
查看: 4254|回复: 5

这样的报错什么原因?

 关闭 [复制链接]
发表于 2011-6-14 09:33:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小飞侠 于 2011-6-15 07:12 编辑

报错信息:
--------------------Configuration: df - Win32 Debug--------------------
Linking...
df.obj : error LNK2001: unresolved external symbol _identify
Debug/df.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
df.exe - 2 error(s), 0 warning(s)
源代码:很简单我是想实现输入二进制转换成十进制,或者输入十进制转换成而二进制。
麻烦各位了~~~
#include <stdio.h>
#include <stdlib.h>
void decimaltobinary();
void binarytodecimal();
void main()
{
int oo;

love: printf("==================================================================");
  printf("你好我能帮你计算十进制与二进制之间的转换!!!好好利用呦~~~");
  printf("==================================================================");
  printf("请问你是希望那种进制转换:\n");
  printf("\t1.十进制转二进制;\n");
  printf("\t2.二进制转十进制;\n");
  printf("\t3.退出;\n");
  scanf("%d" , &oo);
  
  if(1 == oo)
  {
   decimaltobinary();
   goto love;
  }
  
  if(2 == oo)
  {
   binarytodecimal();
   goto love;
  }
  
  if(3 == oo)
  {
   exit(1);
   system("pause");
   printf("=========================欢迎使用!============================"); 
  }
  
  else
  {
   printf("======================输入有误!请重新选择:=====================");
   goto love;
  }
}
void decimaltobinary()
{

int n , i , num , times = 0 , a[50] = {0};
printf("请输入需要转换的十进制数 num:  ");
scanf("%d" , &n);
printf("\n\n");
num = n;
for(i = 0 ; i < 100000 ; i++)
{
  a[i] = num % 2;
  num = num / 2;
  times ++;
  
  if(num == 0)
   break;
}

printf("十进制数为:\t%d\n二进制数为:\t" , n);
for(i = times ; i >= 0 ; i--)
{
  printf("%d" , a[i]);
}

printf("\n\n\n");
}
void binarytodecimal()
{
int identify(char *);
char a[40] ;
int n;

printf("请输入需要转换的二进制(正负皆可):\n");
scanf("%s" , &a);
n = identify(a);
printf("二进制数为:\t%s\n十进制数为:\t%ld" , a , n);
printf("\n\n");
}
int identfy(char *p)
{
long s = 0;
int flag = 1;
if((*p) == '-')
{
  p++;
  flag = -1;
}

else if((*p) == '+')
{
  p++;
}

while(*p)
{
  s = s*2 + (*p++) -48;         //所有最妙的地方就在这里,妙处分析:
   }               /******************************************************
                (1).  s = s * 10 ===>>  因为读取时是从高位向低位读取,因
                此高位先得到乘以10的待遇,这样也就刚好符合,高位的特性。
                (2).  (*p++) -48 等价于 (*p) -48; p++;  这样的两句;
                (3).  (*p)是该字符的ASCII码,减去48后,得到的是ASCII码对应
                的数字字符,也就满足了条件,字符型输入&整型输出;
                ******************************************************/
return (s*flag);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-14 10:30:27 | 显示全部楼层
81行
int identfy(char *p)  改为:
int identify(char *p)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-15 07:12:13 | 显示全部楼层
本帖最后由 小飞侠 于 2011-6-15 07:14 编辑


非常感谢你的解答~~
小错误还是很麻烦的,呵呵。

版主,这样的报错信息是什么意思呢,为什么没有说明是,函数未定义呢?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-15 07:52:11 | 显示全部楼层
该报错的意思就是“函数未定义”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-15 11:09:45 | 显示全部楼层
= =! 哎....!:L:L
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-15 21:04:45 | 显示全部楼层
仰望天上的光 发表于 2011-6-15 07:52
该报错的意思就是“函数未定义”

哎呀,露怯了。
英语不过关呀~~~
感谢楼主的回答。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-7 10:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表