标题: 不知道怎么处理error c202问题undefined identifier [打印本页]

作者: 是个新人    时间: 2024-4-20 23:43
标题: 不知道怎么处理error c202问题undefined identifier
请问一下是什么问题我找半天找不出来
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define LED P3
  5. #define undefined identifier

  6. uchar i, flagl,flag2,flag3,flag4;

  7. sbit k1=P2^4;
  8. sbit k2=P2^5;
  9. sbit k3=P2^6;
  10. sbit k4=P2^7;

  11. uchar table1[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfc,0xff};

  12. uchar table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf};

  13. uchar table3[]={0x7e,0xbd,0xdb,0xe7,0xf};

  14. uchar table4[]={0xaa,0x55};

  15. void delay(uint x)
  16. {
  17. uint i;
  18. while(x--)
  19. for(i=50;i>0;i--);
  20. }

  21. void keyscan()
  22. {if(k1==0){
  23. delay(10);
  24. if(k1==0){
  25. flag2=0;
  26. flag3=0;
  27. flag4=0;
  28. flagl=1;
  29. }
  30. }
  31. if(k2==0){
  32. delay(10);
  33. if(k2==0){
  34. flag3=0;
  35. flagl=0;
  36. flag4=0;
  37. flag2=1;
  38. }
  39. }
  40. if(k3==0){
  41. delay(10);
  42. if(k3==0){
  43. flag1=0;
  44. flag2=0;
  45. flag4=0;
  46. flag3=1;
  47. }
  48. }
  49. if(k4==0){
  50. delay(10);
  51. if(k4==0){
  52. flag1=1;
  53. flag2=0;
  54. flag3=0;
  55. flag4=1;
  56. }
  57. }
  58. }
  59. void main(){
  60. while(1)
  61. {keyscan();
  62. if(flagl==1){
  63. for(i=0;i<16;i++){
  64. LED=table1[i];
  65. delay(200);
  66. keyscan();
  67. }
  68. }
  69. if(flag2==1){
  70. for(i=0;i<14;i++){
  71. LED=table2[i];
  72. delay(300);
  73. keyscan();
  74. }
  75. }
  76. if(flag3=-1){
  77. for(i=0;i<5;i++){
  78. LED=table3[i];
  79. delay(250);
  80. keyscan();
  81. }
  82. }
  83. if(flag4==1){
  84. for(i=0;i<2;i++){
  85. LED=table4[i];
  86. delay(600);
  87. keyscan();
  88. }
  89. }
  90. }
  91. }
复制代码

屏幕截图 2024-04-20 234055.png (194.41 KB, 下载次数: 56)

屏幕截图 2024-04-20 234055.png

作者: bd5fna    时间: 2024-4-21 06:56
uchar i, flagl,flag2,flag3,flag4; 看看第一个flag后面是什么,1 还是 l ?
作者: xiaobendan001    时间: 2024-4-21 07:11
很明显,前边你定义的是flagi,使用的是flag1,一个字母i,一个数字1,当然说你的flag1没有定义啊
作者: xiaobendan001    时间: 2024-4-21 07:16
不好意思,好像不是字母i,是字母l,小写的L
作者: sdxrly    时间: 2024-4-21 07:51
定义的是flagl,函数体里是flag1
作者: 13205495918    时间: 2024-4-21 08:39
我用我的编译器试了试,发现你在定义变量flag1的时候最后一个字符不是1而是l。
作者: lzts88    时间: 2024-4-21 09:04
是不是数字1打成字母L了. 或者你前面第7行定义的是字母L
作者: zhuls    时间: 2024-4-21 09:40
右键点击错误信息行,选复制,打开百度,粘贴进去,点搜索,就会看到你想要的答案。。
作者: zhuls    时间: 2024-4-21 09:41
或者改一下你编辑器的字体,说不定也能看到问题所在。
作者: newlined    时间: 2024-4-21 09:53
把这两个变量重新输入一遍就行了,前边定义的跟你后边用的不一样,你可以用查找比较下。
作者: 明日之星8    时间: 2024-4-21 10:12
不会英语的可以找“百度翻译”翻译一下就知道了,后面的“undefined”是未定义
的意思,肯定是前面定义的地方出错了。
你会发现前面定义的时候是“flagl”(后面是字母“l”不是数字“1”),最后用的是数字
“1”,改一下就好了。
作者: 是个新人    时间: 2024-4-21 16:10
xiaobendan001 发表于 2024-4-21 07:11
很明显,前边你定义的是flagi,使用的是flag1,一个字母i,一个数字1,当然说你的flag1没有定义啊

谢谢,刚刚去看了确实是这个问题
作者: 是个新人    时间: 2024-4-21 16:17
找到问题了确实是flagl和flag1的区别,flag1没有被被定义所以出现报错,1打成l了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1