标题: C语言为什么会警告我说参数列表长度不同? [打印本页]

作者: 1279095941    时间: 2020-4-13 18:27
标题: C语言为什么会警告我说参数列表长度不同?
#include<reg52.h>

#define uint unsigned int
#define uchar unsigned char
sbit beep=P1^5;
uchar temp;
void main( uint z)
{
unsigned int x,y;
for(x=z;x>0;x--)
   for(y=114;y>0;y--);
}

void main()
{
temp=0xf0;
P2=temp;
delay(10);
while(1)
{
temp=_crol_(temp,1);
P2=temp;
beep=~beep;
delay(10);
}

}


作者: odfggf    时间: 2020-4-13 18:59
错误有几点:
1:void main( uint z)这个main应该是delay
2:main主函数差一个}
3:用了_crol_,就应该在前面加上#include "intrins.h"
作者: cyf7175    时间: 2020-4-13 19:28
void main( uint z)应为void delay( uint z)
作者: 单片机热爱者    时间: 2020-4-13 19:54
你看看void main(uint);void main()两个同名函数但是长度不一样
作者: hominidclint    时间: 2020-4-13 19:59
uint与uchar长度肯定不一样啦
作者: hbcqd    时间: 2020-4-13 20:25
这个程序有好多问题,主要问题是有两个main;再是定义不准确;三是表述不清楚。建议多看别人的编程如:
//实例8:用不同数据类型控制灯闪烁的时间
#include<reg51.h>       //包含51单片机寄存器的头文件
void int_delay(void)     //  延时一段较长的时间
{
unsigned int m;         // 定义无符号整数型变量,双字节数据,值域为0~ 65535
  for(m=0;m<36000;m++)
   ;                            //  空操作
}
void char_delay(void)   //  延时一段较短的时间
{
unsigned char i,j;      // 定义无符号字符型变量,单字节数据,值域 0~255
for(i=0;i<200;i++)   
  for(j=0;j<180;j++)
  ;                    // 空操作
}
void main(void)         //  主函数(C语言规定必须有也只有 1个主函数)
{
unsigned char i;       //  定义无符号字符型变量,单字节数据,值域 0~255
while(1)               //  无限循环
    {
for(i=0;i<3;i++)      // 循环3次
  {
  P0=0xfe;             // P0=1111 1110B ,即P0.0输出低电平  LED灯亮
  int_delay();         //延时一段较长的时间
  P0=0xff;             // P0=1111 1111B ,即P0.0输出高电平  LED灯不亮
  int_delay();         //延时一段较长的时间
  }
for(i=0;i<3;i++)      // 循环3次
   {
  P0=0xfe;             // P0=1111 1110B ,即P0.0输出低电平  LED灯亮
  char_delay();        //延时一段较短的时间
  P0=0xff;             // P0=1111 1111B ,即P0.0输出高电平  LED灯不亮
  char_delay();        //延时一段较短的时间
   }  
  }
}


作者: 1279095941    时间: 2020-4-14 09:19
hbcqd 发表于 2020-4-13 20:25
这个程序有好多问题,主要问题是有两个main;再是定义不准确;三是表述不清楚。建议多看别人的编程如:
// ...

谢谢你,我是初学者还没入门
作者: 1279095941    时间: 2020-4-14 09:19
odfggf 发表于 2020-4-13 18:59
错误有几点:
1:void main( uint z)这个main应该是delay
2:main主函数差一个}

谢谢你




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