学习运算符时发现了一个问题,取余运算的结果和我想象的不一样,下面我们通过代码具体看看
#include <stdio.h> int main() { int x,y; x = 10; y = -3; printf("x+y=%d\n", x+y ); printf("x-y=%d\n", x-y ); printf("x*y=%d\n", x*y ); printf("x/y=%d\n", x/y ); printf("x%%y=%d\n", x%y ); return 0; }
取余运算中注意:
该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。
printf("x%y=%d\n",x%y) 这种不运行的原因:程序将%y看作格式化符号,所以会出现错误。 改正的方法使用%%,其中输出一个%,转义: printf("x%%y=%d\n",x%y);
借鉴该博客:墨溢
转义: printf("x%%y=%d\n",x%y);