鱼C论坛

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

这样的报错什么原因?

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

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

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

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

报错信息:

  1. --------------------Configuration: df - Win32 Debug--------------------
  2. Linking...
  3. df.obj : error LNK2001: unresolved external symbol _identify
  4. Debug/df.exe : fatal error LNK1120: 1 unresolved externals
  5. Error executing link.exe.
  6. df.exe - 2 error(s), 0 warning(s)
复制代码

源代码:很简单我是想实现输入二进制转换成十进制,或者输入十进制转换成而二进制。
麻烦各位了~~~

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void decimaltobinary();
  4. void binarytodecimal();
  5. void main()
  6. {
  7. int oo;

  8. love: printf("==================================================================");
  9.   printf("你好我能帮你计算十进制与二进制之间的转换!!!好好利用呦~~~");
  10.   printf("==================================================================");
  11.   printf("请问你是希望那种进制转换:\n");
  12.   printf("\t1.十进制转二进制;\n");
  13.   printf("\t2.二进制转十进制;\n");
  14.   printf("\t3.退出;\n");
  15.   scanf("%d" , &oo);
  16.   
  17.   if(1 == oo)
  18.   {
  19.    decimaltobinary();
  20.    goto love;
  21.   }
  22.   
  23.   if(2 == oo)
  24.   {
  25.    binarytodecimal();
  26.    goto love;
  27.   }
  28.   
  29.   if(3 == oo)
  30.   {
  31.    exit(1);
  32.    system("pause");
  33.    printf("=========================欢迎使用!============================");
  34.   }
  35.   
  36.   else
  37.   {
  38.    printf("======================输入有误!请重新选择:=====================");
  39.    goto love;
  40.   }
  41. }
  42. void decimaltobinary()
  43. {

  44. int n , i , num , times = 0 , a[50] = {0};
  45. printf("请输入需要转换的十进制数 num:  ");
  46. scanf("%d" , &n);
  47. printf("\n\n");
  48. num = n;
  49. for(i = 0 ; i < 100000 ; i++)
  50. {
  51.   a[i] = num % 2;
  52.   num = num / 2;
  53.   times ++;
  54.   
  55.   if(num == 0)
  56.    break;
  57. }

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

  63. printf("\n\n\n");
  64. }
  65. void binarytodecimal()
  66. {
  67. int identify(char *);
  68. char a[40] ;
  69. int n;

  70. printf("请输入需要转换的二进制(正负皆可):\n");
  71. scanf("%s" , &a);
  72. n = identify(a);
  73. printf("二进制数为:\t%s\n十进制数为:\t%ld" , a , n);
  74. printf("\n\n");
  75. }
  76. int identfy(char *p)
  77. {
  78. long s = 0;
  79. int flag = 1;
  80. if((*p) == '-')
  81. {
  82.   p++;
  83.   flag = -1;
  84. }

  85. else if((*p) == '+')
  86. {
  87.   p++;
  88. }

  89. while(*p)
  90. {
  91.   s = s*2 + (*p++) -48;         //所有最妙的地方就在这里,妙处分析:
  92.    }               /******************************************************
  93.                 (1).  s = s * 10 ===>>  因为读取时是从高位向低位读取,因
  94.                 此高位先得到乘以10的待遇,这样也就刚好符合,高位的特性。
  95.                 (2).  (*p++) -48 等价于 (*p) -48; p++;  这样的两句;
  96.                 (3).  (*p)是该字符的ASCII码,减去48后,得到的是ASCII码对应
  97.                 的数字字符,也就满足了条件,字符型输入&整型输出;
  98.                 ******************************************************/
  99. return (s*flag);
  100. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-6-14 10:30:27 | 显示全部楼层
81行
int identfy(char *p)  改为:
int identify(char *p)
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-6-15 07:12:13 | 显示全部楼层
本帖最后由 小飞侠 于 2011-6-15 07:14 编辑


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

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

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-6-15 07:52:11 | 显示全部楼层
该报错的意思就是“函数未定义”
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-6-15 11:09:45 | 显示全部楼层
= =! 哎....!:L:L
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-6-15 21:04:45 | 显示全部楼层
仰望天上的光 发表于 2011-6-15 07:52
该报错的意思就是“函数未定义”

哎呀,露怯了。
英语不过关呀~~~
感谢楼主的回答。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-6 15:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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