keil c51中sprintf一使用就报错?

这是我的sprintf的调用语句:sprintf(disp_buf,"r");//注释掉就编译通过了我包含的头文件:#include<reg51.h>#include<i... 这是我的sprintf的调用语句:sprintf(disp_buf,"r");//注释掉就编译通过了
我包含的头文件:
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <string.h>
展开
 我来答
ghost4063
2013-08-21 · TA获得超过6523个赞
知道大有可为答主
回答量:2940
采纳率:75%
帮助的人:2786万
展开全部
DATA区的RAM使用太多了,错误信息说DATA溢出了。
113个字节就溢出,看样子,你用的是89C51,你把使用的芯片改成89C52就可以了。
雨田丫
2013-08-21 · TA获得超过822个赞
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:164万
展开全部
我试了没问题:
#include <reg51.h>
#include <stdio.h>
void stdio_init(void){
SCON=0X50;
TMOD=0X20;
TCON=0X40;
TH1=0XE8;
TL1=0XE8;
TI=1;
TR1=1;
}
void main(void)
{
char a,b;
char disp_buf[10];
stdio_init();
a='x';
SBUF='a';
while(1){

sprintf(disp_buf,"r");
printf("----------\n");
scanf("%c",&a);
printf("\n");
scanf("%c",&b);
printf("\n");
printf("a=%c,b=%c \n",a,b);
}
}
追问
你的这个程序没有出现sprintf,而且大括号不匹配,没有中断服务程序
追答
1
sprintf(disp_buf,"r");//这一行你没看见?
printf("----------\n");
2
总 共3对大括号,你数数
3
我只是试用sprintf(disp_buf,"r"),所以没有用中断。你也没提供程序,只好这样了。
4
你的标题“keil c51中sprintf一使用就报错?”,我证明一下使用就不报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式