微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 刚学单片机,在keil上写了这个程序,一直编译不过去,不....

刚学单片机,在keil上写了这个程序,一直编译不过去,不....

时间:10-02 整理:3721RD 点击:

  1. #include<reg51.h>
  2. #include<stdio.h>
  3. #include<string.h>

  4. struct people
  5. {
  6.    char name[8];
  7.    int score;
  8. };
  9. struct people tmp;
  10. void main()
  11. {
  12.          struct people xdata p[5];
  13.          unsigned char  count=0;
  14.          for(count=0;count<=4;count++)
  15.          {
  16.             scanf("%s,%d",&p[count].name,&p[count].score);
  17.          }
  18.          unsigned char a,b;
  19.          for(a=0;a<=4;a++)
  20.          
  21.             for(b=3;b>=a;b--)
  22.                 {
  23.                      if(p[b+1].score>p[b].score)
  24.                          {
  25.                              strcpy(tmp.name,p[b+1].name);
  26.                                  tmp.score=p[b+1].score;
  27.                                  strcpy(p[b+1].name,p[b].name);
  28.                                  p[b+1].score=p[b].score;
  29.                                  strcpy(p[b].name,tmp.name);
  30.                                  p[b].score=tmp.score;
  31.                          }
  32.                 }
  33.          
  34.          
  35. }

复制代码

一直显示

  1. Build target 'Target 1'
  2. compiling new.c...
  3. NEW.C(19): error C141: syntax error near 'unsigned'
  4. NEW.C(19): error C202: 'a': undefined identifier
  5. NEW.C(20): error C202: 'a': undefined identifier
  6. NEW.C(22): error C202: 'b': undefined identifier
  7. NEW.C(24): error C202: 'b': undefined identifier
  8. NEW.C(26): error C202: 'b': undefined identifier
  9. NEW.C(27): error C202: 'b': undefined identifier
  10. NEW.C(28): error C202: 'b': undefined identifier
  11. NEW.C(29): error C202: 'b': undefined identifier
  12. NEW.C(30): error C202: 'b': undefined identifier
  13. NEW.C(31): error C202: 'b': undefined identifier
  14. Target not created

复制代码

我觉得你应该在VISUAL C++  6.0上或许可以实现。
你这不是在编单片机程序。我看不懂你程序是什么意思。编程不要脱离实际。

恩。是的。
以前就是专门学编程的。
想问下怎么编才不出错呀。
我是在做 单片机C语言 的课后题。
他说输入这些人的信息(名字和得分),然后从高到低排序。

怎么有这么奇葩的问题。你确定那是单片机的书。单片机主要是做控制的。这种问题我从来没遇到过。不可能用单片机做。建议你去看看单片机的硬件。

恩。
我放弃了。各种纠结。感觉单片机的编程和普通的还是有些差别的。
不过还是谢谢你拉

每种错误都编号,就是error后面的那个数字,上网搜一下。

而且这个程序想让单片机控制些什么呢?你的这个程序写进单片机没有任何意义啊。

你看的是哪本单片机的书?我觉得学单片机可以先从郭天祥的看起

这不是单片机的书吧。

真的和硬件没有一点关系啊

就用内核跑指令啊?外设一个没用着。你这肯定不是51单片机书的习题。

你把、a.   b 的定义、放到mian 函数的第一行、试试

我也觉得这联系毫无意义。但是那时还是想练练手的,结果错误让我找不出所以然。
看的是 零基础学 单片机C语言程序设计  绿色的一本书。
感觉他讲的也挺不详细的,我硬件比较薄弱,可是他用了200页讲了纯粹C语言的各种东西。用了50页讲了C51语言里那些特别的数据类型啊什么的。

我也不是很有经验,但是我个人觉得,应该先买一块单片机的开发板或者学习班,然后买一本与之相对应的书,开始学。学习单片机要先从I/O口,中断,计时器之类的学起,入门以后再学习更加复杂的算法或者更加深入的C语言。我觉得郭天祥的不错,可以上网搜一下。我这里有郭天祥的书的pdf格式的,还有一些简单的例程,需要的话加我QQ 1678853793

小编别这样,要是单片机这么用,早没人玩了....

你这个好像是在做C++面向对象的问题

这个不太是单片机做的事情

小编以前是学C++的吗,这个程序可以在C++标准里通过,在C标准是不能通过的。C语言不允许在程序中间定义新的变量

我觉得这好像也不是什么单片机程序,,,没有用一个IO口呀。

  for(count=0;count<=4;count++)
         {
            scanf("%s,%d",&p[count].name,&p[count].score);
         }
这是什么玩意?你从哪里输入呀?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top