一个C语言程序问题

Python043

一个C语言程序问题,第1张

%c输出的是字符形式,195对应的字符在当前的32位操作系统是识别不出来的,最高的字符del对应ASCII是127,所以计算机无法判断,就输出就个?,你可以按整数形式输出,

printf("sum is %d\n",sum)

这样就输出

sum is -61

这是由于char型是8位,且最高位是作为符号位,此时输出是负数。

要输出

sum is 195

要把sum定义成int型,这样就行了。

#define IRLED RB4

void Emit_Carrier_Nx600(INT8U,N) //(INT8U,N)是不是多了逗号

{

    INT8U i,j=N*50

    for (i=0i<ji++)

    {

        _delay_us(12)

        IRLED=~IRLED

    }

}

 void Emit_D12(INT16U,D12) //逗号??

{

    Emit_carrier_Nx600(4)

    IRLED=0

    _delay_us600(1)

    for(INT16U i=0x0001i<0x1000i<<=1)//不知道你的编译器支不支持在这里定义变量i                                         //一般都放在开头吧

    {

        if(D12&i)Emit_carrier_Nx600(2)

    else 

        Emir_Carrier_Nx600(1)

    

    IRLED=0

    

    _delay_us(600)

     }

}