算法设计:负数的模数

2021年5月3日16:52:15 发表评论 642 次浏览

以下C程序的输出是什么?

#include <stdio.h>
int main()
{
    int a = 3, b = -8, c = 2;
    printf ( "%d" , a % b /c);
    return 0;
}

输出如下

1

%和/具有相同的优先级, 并且从左到右具有关联性。因此, 首先执行%, 结果为3, 然后执行/, 结果为1。重点是, 左操作数的符号附加到结果在C中的模运算符的情况下.

#include <stdio.h>
int main()
{
    //a positive and b negative.
    int a = 3, b = -8;
    printf ( "%d" , a % b);
    return 0;
}

输出如下

3
#include <stdio.h>
int main()
{
    //a negative and b positive
    int a = -3, b = 8;
    printf ( "%d" , a % b);
    return 0;
}

输出如下

-3
#include <stdio.h>
int main()
{
    //a and b both negative
    int a = -3, b = -8;
    printf ( "%d" , a % b);
    return 0;
}

输出如下

-3

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: