c语言 宏嵌套,单片机C语言(函数的嵌套调用)

;

P0=dutable[LA];

delay(2);

P0=0xff;

}

}

}

void calc(uchar date)           //得数转换成数值

{

if(flag==1)

{

if(count==0)//得到的第一个完整数字//第一个数连续使用count=0以得到数值;

{

num1=num1*10+date;

flag=0;

num=num1;

}

if(count==1)//得到的第二个完整数字//第二个数在使用flag2后开始连续使用,直至flag3的

{

num2=num2*10+date;

flag=0;

num=num2;

}

}

if(count>1&&mark==1)

{

num1=num;

flag=0;

count=1;//讲num2置为第二个数

}

display(num);

if(flag==2)//如果得到符号位

{

count++;

flag=0;

}

if(flag==3)

{

num=0;

switch(ch)

{

case '+':num=num1+num2; break;

case '-':num=num1-num2; break;

case '*':num=num1*num2; break;

case '/':num=num1/num2; break;

}

num1=0;

num2=0;

flag=0;

mark=1;

M=0;

delay(100);

M=1;

}

if(flag==4)

{

num1=0;

num2=0;

num=0;

count=0;

flag=0;

mark=0;

}

}

void main()

{

init();

while(1)

{

calc(keyscan());

}

}

大佬,里面的void calc(uchar date)   函数为什么能调用 uchar keyscan()里面除了date以外的其他变量啊,如flag,和字符变量ch,不是只返回了一个date吗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值