博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

jiuzhuaxiong

创造属于你的天空,有了问题可以跟大家一起讨论! 在LINUX和VXWORKS嵌入式开发中学到了一些经验跟大家分享!
  jiuzhuaxiong.cublog.cn

关于作者
姓名:HugBear2008
QQ:280051265
年龄:25
位置:中国.广州
E-MAIL:jiuzhuaxiong@163.com
|| << >> ||
我的分类


C99对除法和取模运算的几处细节



    1、在C中,整数除法结果的小数部分都被丢弃。这个过程称为“截尾”(truncation)。
    2、整数与浮点数进行混合运算时,结果是浮点数。
    3、对负数的整数除法,C99要求使用“趋零截尾”。
    4、对负数的取模运算,C99规定:如果第一操作数为负,则得到的模为负;如果第一操作数为正,则得到的模为正。
 

#include <stdio.h>

typedef struct {
    char str[7];
    int value;
}element;

element test[5] = {
    {" 7 /  4",  7 /  4},
    {"-7 /  4", -7 /  4},
    {" 7 / -4",  7 / -4},
    {"-7 %  4", -7 %  4},
    {" 7 % -4",  7 % -4}
};

int main(void)
{
    int i;

    for (i=0; i<5; i++) {
        printf("%s: %4d\n", test[i].str, test[i].value);
    }

    return 0;
}

//结果显示

 7 /  4:  1
-7 /  4: -1
 7 / -4: -1
-7 %  4: -3
 7 % -4:  3

发表于: 2008-04-01,修改于: 2008-04-01 23:32,已浏览181次,有评论0条 推荐 投诉


网友评论
 发表评论