欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
請問大家一個關于寫C語言main函數的問題
[打印本頁]
作者:
gaoky
時間:
2020-3-20 22:52
標題:
請問大家一個關于寫C語言main函數的問題
看到一個程序,在main函數之后是很正常的初始化,但這之前怎么又是void KeyScan();如圖上紅色標注的這些,這些子函數程序后面已經寫了,為什么前面還要再調用#include "STC15.H"
#include "oled.h"
#include "ds18b20.h"
#define ADC_POWER 0x80 //ADC電源控制位
#define ADC_FLAG 0x10 //ADC完成標志
#define ADC_START 0x08 //ADC起始控制位
#define ADC_SPEEDLL 0x00 //540個時鐘
sbit LEDG = P5^5;
sbit BUZZ = P1^3;
sbit RELAY = P3^7; //0開1關
//定義按鍵IO
sbit KEY1 = P3^6;
sbit KEY2 = P3^3;
sbit KEY3 = P3^2;
//按鍵碼,為0時沒有鍵按下
char KeyCode = 0;
//水位百分比,分0%-20%-40%-60%-80%-100%
int WaterLev = 0;
//設置的水溫
int TempSet = 300;
int Flag1s = 0;
int FlagBuzz = 0;
void Timer0Init();
void KeyScan();
void KeyAction();
void STC15AdcInit(uchar ch);
void STC15AdcStart(uchar ch);
void main()
{
OledInit();
OledShowStr(32, 0, "Temp Box");
OledShowStr(0, 2, "Temperature:");
OledShowStr(0, 4, "Water Level:");
OledShowStr(24, 6, "Set Temp:");
OledShowTemp(96, 6, TempSet);
Start18B20();
STC15AdcInit(5);
STC15AdcStart(5);
Timer0Init();
作者:
xxpp2011
時間:
2020-3-20 23:12
子函數放在主函數前面,就不用再聲明一遍,子函數放在主函數后面,就需要在主函數前面聲明函數名。
你可以把void main()(xxx)挪到整個main.c的最后面,就可以刪掉紅色部分了。
作者:
csmyldl
時間:
2020-3-20 23:44
這個叫做函數聲明;主要作用是幫助編譯系統找到這些函數的位置;因為這些函數放在main()函數后,是由main()函數調用執行,如果不聲明,main()函數不知道。另一種做法是把main()函數移至最后,就不需要這樣聲明了
作者:
cphnkj188
時間:
2020-3-21 08:32
#include "STC15.H"是頭文件,必須有的,紅色的那些是子函數,是需要提前聲明的
作者:
cjjdemon
時間:
2020-3-21 15:25
C語言基礎太薄弱,建議認真看一下
作者:
TTQ001
時間:
2020-3-22 01:50
你將所有子例程放在main函數后面,因此需要在main函數之前聲明它們,以避免編譯錯誤。
作者:
Zealot110
時間:
2020-3-22 18:23
但這之前怎么又是void KeyScan();如圖上紅色標注的這些,這些子函數程序后面已經寫了,為什么前面還要再調用
---那些紅色部分不是調用,是聲明。按語法規則,有如下兩種情況需聲明:
1、若其它文件的函數要被本文件調用,需事先聲明
2、若本文件內的函數想要被行號小于自己的函數調用,需要在調用之前事先聲明
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1