问答详情
源自:3-2 算术运算符

哪里运行错误了?


#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;    

}



运行成功,输出错误

hello.c: In function 'main':
hello.c:11:15: warning: unknown conversion type character 'y' in format [-Wformat=]
    printf("x%y=%d\n",x%y     );  
              ^
x+y=7

x-y=13

x*y=-30

x/y=-3


提问者:慕婉清2409769 2017-12-31 21:08

个回答

  • 昵称好难起757
    2018-01-01 22:50:13

    加两个百分号

  • MyRainY
    2017-12-31 21:48:08

    在C/C++里,%是一个很特殊的符号,是用来转意的,这里%y会被认为是和%d类似的东西,而不是取余,所以会出错。需要使用%%进行对%转意

    printf("x%%y=%d\n",x%y);


  • 慕函数1921925
    2017-12-31 21:38:26

    不知道