#include
目前创新互联已为上1000家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、滕州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
stdio.h
#include
string.h
#include
malloc.h
using
namespace
std;
void
display(char
*str){
for(int
i
=
;
i
strlen(str)
;
i++)
{
printf("%c"
,
str[i])
;
}
printf("\n");
}
void
getChar(char
*str){
scanf("%s"
,
str)
;
}
int
main(){
int
len
=
128
;
char
*str
=
(char
*)malloc(len
*
sizeof(char))
;
while(true){
printf("请输入一些字符:");
getChar(str)
;
printf("您输入的字符为:");
display(str)
;
printf("\n");
}
}
sizeof一般是在编译时计算,不适合用在你这种情况,如下修改已仿真验证可切换传送。
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
/*********端口定义*************/
//SCLK 串行同步时钟
//SID 串行数据输入端
//CS 片选,高#includereg52.h
#define uchar unsigned char
#define uint unsigned int
/*********端口定义*************/
//SCLK 串行同步时钟
//SID 串行数据输入端
//CS 片选,高电平有效
sbit CS =P1^2;
sbit SID =P1^1;
sbit SCLK=P1^0;
/******************************/
/*******字幕显示定义***********/
uchar code Table1[]={"I Love MCU"};
uchar code Table2[]={"我爱单片机!"};
/******************************/
void Delaynms(uchar x)
{
uchar i,j;
for(i=0;ix;i++)
{
for(j=0;j110;j++);
}
}
void DatComOperation(uchar datas,uchar datcom)
{
uchar temp;
uint i;
temp=datas;
CS=1;
SCLK=0;
for(i=0;i8;i++)
{
SID=(bit)(temp0x80);
SCLK=0;
SCLK=1;
temp=1;
}
temp=datcom;
temp=0xf0;
for(i=0;i8;i++)
{
SID=(bit)(temp0x80);
SCLK=0;
SCLK=1;
temp=1;
}
temp=datcom;
temp=4;
for(i=0;i8;i++)
{
SID=(bit)(temp0x80);
SCLK=0;
SCLK=1;
temp=1;
}
CS=0;
Delaynms(10);
}
void SendCommand(uchar comm) //12232发送指令
{
DatComOperation(0xf8,comm);
}
void SendData(uchar datas) //12232发送数据
{
DatComOperation(0xfa,datas);
}
void Lcd12Initial()
{
Delaynms(100);
SendCommand(0x30);
SendCommand(0x02);
SendCommand(0x06);
SendCommand(0x0c);
SendCommand(0x01);
SendCommand(0x80);
}
void DispInfor(uchar x,uchar code *arrays) //???????
{
uchar i,j;
SendCommand(x); //定义字符显示的位置
//for(i=0;isizeof(arrays)/sizeof(arrays[0]);i++)
// SendData(arrays[i]);
i=0;
while(j=arrays[i++]) SendData(j);
}
void main()
{
Lcd12Initial();
DispInfor(0x80,Table1);//DisInfor(0x80,Table1);
DispInfor(0x90,Table2);//DisInfor(0x90,Table2);
while(1); //等待
}
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
#includestdio.h
int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明
void main()
{
int a=1, b=2, c;
c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值
}
// 自定义函数fun
int fun(int x, int y) // 函数首部
{ // {}中的语言为函数体
return xy ? x : y; // 返回x和y中较大的一个数
}
扩展资料
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。
这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。
图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。
参考资料:函数调用_百度百科
#include stdio.h
#include time.h
void main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( rawtime );
timeinfo = localtime ( rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );
exit(0);
}
=================
#include time.h -- 必须的时间函数头文件
time_t -- 时间类型(time.h 定义)
struct tm -- 时间结构,time.h 定义如下:
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
time ( rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime
localtime ( rawtime ); -- 转为当地时间,tm 时间结构
asctime ()-- 转为标准ASCII时间格式:
星期 月 日 时:分:秒 年
=========================================
你要的格式可这样输出:
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo-tm_year, 1+timeinfo-tm_mon,
timeinfo-tm_mday,timeinfo-tm_hour,timeinfo-tm_min,timeinfo-tm_sec);
就是直接打印tm,tm_year 从1900年计算,所以要加1900,
月tm_mon,从0计算,所以要加1
其它你一目了然啦。