sprintf函数怎么使用~我想把一个整数打印到一个数组中,对数组的定义uchar 和uint有区别吗

#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
uint code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uint code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar s[8];
sbit wela=P2^0;
sbit dula=P2^1;
uint weishu;
void delayms(unsigned int i)//延时函数
{
unsigned int j;
for(;i>0;i--)
for(j=100;j>0;j--);

}
void display(uint num)
{uint i;

for(i=0;i<num;i++)
{
P0=0xff;
wela=1;
P0=wei[i];
wela=0;
P0=0x00;
dula=1;
P0=duan[s[i]];
dula=0;
delayms(2);
}
}
void main()
{
uint num1=1,num2=6;

while(1)
{
sprintf(s,"%d",num1);
weishu++;
sprintf(s+weishu,"%d",num2);
weishu++;
while(1)
{
display(weishu);
}

}
}

函数功能:把格式化的数据写入某个字符串
函数原型:int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串长度(strlen)

例子:
char* who = "I";
char* whom = "CSDN";
sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. " 这字符串写到s中
对数组的定义用uchar,因为s是一个字符串
温馨提示:答案为网友推荐,仅供参考
相似回答