高手帮忙改下C程序
void Report(void){
int i;
for(i=0;i<15;i++)
{
if(boot.Result==1)
{
UART0_PutChar(i+1);
UART0_PutChar(boot.value/256);
UART0_PutChar(boot.value%256);
break;
}
if(i == 14)
{
UART0_PutChar(0x00);
UART0_PutChar(0xFE);
UART0_PutChar(0xFF);
}
}
}
上述程序的功能是输出第一个boot.Result==1对应的值,其它不输出。如果boot.Result全部为0 则输出 0x00 0xFE 0xFF。
想改为--只要boot.Result==1的就输出出来。 如果boot.Result全部为0 则输出 0x00 0xFE 0xFF。 我 靠, 这个问题以前不是有人提过,我也回答过么?
难道这是哪个垃圾程序扩散了? http://www.amobbs.com/forum.php?mod=viewthread&tid=5518705&page=1#pid6444893 Louis_Bright 发表于 2013-5-4 09:46 static/image/common/back.gif
我 靠, 这个问题以前不是有人提过,我也回答过么?
难道这是哪个垃圾程序扩散了? ...
你改的确实很简洁, 我看到了,也用上了,不过我这不一样。
我按新要求改了下,功能实现是没问题,但不够简洁啊。
void Report(void)
{
int i;
for(i=0;i<15;i++)
{
if(boot.Result==1)
{
UART0_PutChar(i+1);
UART0_PutChar(boot.value/256);
UART0_PutChar(boot.value%256);
}
}
if(boot.Result==0 && boot.Result ==0 && boot.Result==0 && boot.Result==0 &&
boot.Result ==0 && boot.Result ==0 && boot.Result==0 && boot.Result==0 &&
boot.Result==0 &&boot.Result==0 && boot.Result==0 && boot.Result==0 &&
boot.Result==0 && boot.Result==0 && boot.Result==0)
{
UART0_PutChar(0x00);
UART0_PutChar(0xFE);
UART0_PutChar(0xFF);
}
} void Report(void)
{
int i;
for(i = 0; i < 15; i++)
{
if(boot.Result == 1)
{
break;
}
}
if (i < 15)
{
UART0_PutChar(i + 1);
UART0_PutChar((boot.value >> 8) & 0xFF);
UART0_PutChar((boot.value >> 0) & 0xFF);
}
else
{
UART0_PutChar(0x00);
UART0_PutChar(0xFE);
UART0_PutChar(0xFF);
}
} Louis_Bright 发表于 2013-5-4 11:10 static/image/common/back.gif
void Report(void)
{
int i;
哥们 ,谢谢!
我试了一下输出当前第一个 其它的 ==1 不能输出 bootgames 发表于 2013-5-4 11:18 static/image/common/back.gif
哥们 ,谢谢!
我试了一下输出当前第一个 其它的 ==1 不能输出
你自己看看你的 boot.Result 分别是什么?!
本帖最后由 bootgames 于 2013-5-4 11:34 编辑
Louis_Bright 发表于 2013-5-4 11:22 static/image/common/back.gif
你自己看看你的 boot.Result 分别是什么?!
boot.result是状态位 , 0 或者 1 , 有的情况是全为0, 有的情况是 1 和 0 都有。如果状态位是1,就输出==1的那些位对应的值 ,如果都是0,就输出另组数据。 本帖最后由 biansf2001 于 2013-5-4 11:56 编辑
void Report(void)
{
int i;
int j=0;
for(i=0;i<15;i++)
{
if(boot.Result==1)
{
UART0_PutChar(i+1);
UART0_PutChar(boot.value/256);
UART0_PutChar(boot.value%256);
j++;
}
}
if(j == 0)
{
UART0_PutChar(0x00);
UART0_PutChar(0xFE);
UART0_PutChar(0xFF);
}
} biansf2001 发表于 2013-5-4 11:55 static/image/common/back.gif
void Report(void)
{
int i;
厉害!
页:
[1]