c语言程序错误,说是S1未定义,求大神教怎么破
#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint//初始化sbitP10=P1^0;//按键...
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int //初始化
sbit P10=P1^0; //按键k1
sbit P11=P1^1; //按键k2
sbit P12=P1^2; //按键k3
sbit P13=P1^3; //按键k4
uchar code tab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
void main()
{
uchar k1=0;
while(1)
{ if(P10 == 0)
{
k1 += 1; //分数加1
while(P10 == 0);
}
if(P11 == 0)
{
k1 += 2; //分数加2
while(P11 == 0);
}
if(P12 == 0)
{
k1 += 3; //分数加3
while(P12 == 0);
}
if(P13 == 0)
{
k1 -= 1; //分数减1
while(P13 == 0);
}
if(k1 > 1000) //分数大于999,归0
k1 = 0;
P0 = tab[S1/100]; //百位
P3 = tab[S1%100/10]; //十位
P2 = tab[S1%10]; //个位
}
} 展开
#define uchar unsigned char
#define uint unsigned int //初始化
sbit P10=P1^0; //按键k1
sbit P11=P1^1; //按键k2
sbit P12=P1^2; //按键k3
sbit P13=P1^3; //按键k4
uchar code tab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
void main()
{
uchar k1=0;
while(1)
{ if(P10 == 0)
{
k1 += 1; //分数加1
while(P10 == 0);
}
if(P11 == 0)
{
k1 += 2; //分数加2
while(P11 == 0);
}
if(P12 == 0)
{
k1 += 3; //分数加3
while(P12 == 0);
}
if(P13 == 0)
{
k1 -= 1; //分数减1
while(P13 == 0);
}
if(k1 > 1000) //分数大于999,归0
k1 = 0;
P0 = tab[S1/100]; //百位
P3 = tab[S1%100/10]; //十位
P2 = tab[S1%10]; //个位
}
} 展开
3个回答
展开全部
你没写错了?S1应该是K1吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你s1确实没有定义啊
更多追问追答
追问
我是初学者,那应该在哪儿定义,修改后的源代码是什么
追答
当然在main函数里面定义了啊
你的s1是整型数的话
就是int s1;啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询