完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 yangyc401 于 2013-11-21 18:38 编辑
我C语言很基础····· 这个程序有很多地方都不明白·求大侠给讲解········· 红字部分是我自己理解的·和想不明白的地方············· 可能我表达的会有些不清楚···最好大侠能深刻的讲解下····· C语言我是自学的·上学那会都没怎么学··而且工作几年了都忘了·········其他的不说了·多谢帮助·多多包涵·····谢谢关照····· 源程序····· #include #include #include"display.h" #include"delay.h" #include"keyboard.h" main() { unsigned char num,i,sign; unsigned char temp[8]; unsigned char s; bit firstflag; int a=0,b=0; init_timer0(); while(1) { num=keypro(); if(num!=0xff) { if(i==0) { for(s=0;s<8;s++) tempdata } if(('+'==num)||(i==8)||('-'==num)||('x'==num)||('/'==num)||('='==num))【1】如果按键按下这些符号键或者i==8就执行下面语句· { i=0; if(firstflag==0)【2】这句话不太明白·为什么是等于0呢·等于1不可以吗·还有为什么要使用这么一个条件语句呢· { sscanf(temp,"%d",&a);【3】sscanf不太明白他的作用·百度后理解是从temp中输入一个数字;不知道对不对· firstflag=1;【4】这时候为什么是1了呢···不明白·· } else sscanf(temp,"%d",&b); for(s=0;s<8;s++) temp if(num!='=') sign=num; else { firstflag=0;【5】同样不理解···· switch(sign) { case '+':a=a+b;break; case '-':a=a-b;break; case 'x':a=a*b;break; case '/':a=a/b;break; default:break; } sprintf(temp,"%d",a);【6】sprintf的作用也是不太明白·百度后也是从temp中输出一个数组··就不明白写这两个命令的作用是什么? for(s=0;s<8;s++) { if(temp tempdata else if(temp tempdata else tempdata } sign=0;a=b=0; for(s=0;s<8;s++) temp } } else if(i<16) { temp=num+'0';【8】·那这句话是不是由数字转换成ASCII,我那么麻烦干什么呢·我吧上面的temp tempdata=duanma[num]; i++; } } } } |
|
相关推荐
1个回答
|
|
写的好乱啊,建议你去看看单片机寄存器的定义和使用方法
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
238 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
629 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
552 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
552 浏览 0 评论
1074 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11764 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 03:59 , Processed in 0.647365 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号