gpt4 book ai didi

c - 为什么这个条件总是正确的?

转载 作者:行者123 更新时间:2023-12-02 08:42:35 24 4
gpt4 key购买 nike

语言:C图片:16F84A程序:CCS PCW

当我编译以下代码时,我的编译器提示 FOR 总是为真(也许 int i 不支持负值?):

#include <16F84A.h>
#FUSES XT
#use delay(clock=4M)
byte const display[10] = {63,6,91,79,102,109,124,7,127,103};

void main()
{
set_tris_b(0);
while(True)
{
int i;
for(i=9;i>=0;--i)
{
output_b(display[i]);
delay_ms(300);
}
}
}

它的 PIC Countdown 项目,所以:9,8,7,6,5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,0,9,8,7,6,.. .但它在第一个周期后停止。

最佳答案

使用

    signed int i;

代替

    int i;

整数在 CCS 编译器中默认是无符号的。

http://www.ccsinfo.com/downloads/ccs_c_manual.pdf

检查第 38 页

"All types, except float, by default are unsigned; however, [they] may be preceded by unsigned or signed.

关于c - 为什么这个条件总是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com