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

是不是11行错了,哪里不对,运行成功可是输出错误

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

提问者:慕后端5558565山鲁佐德 2018-10-26 15:40

个回答

  • 慕少9588625
    2018-10-26 16:21:00
    已采纳

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

  • 壹个外向孤独患者
    2018-11-13 16:31:34

    https://img4.mukewang.com/5bea8bcd0001f69601050101.jpg看了评论才明白 最后一个取余是啥意思了

  • wo12345678
    2018-11-06 13:23:26

    我的也是这样子

  • Petermaner
    2018-10-31 17:06:43

    printf("x%%y")


  • qq_变幻_aeHTZ6
    2018-10-28 19:20:36

    我给你说个简单的:在printf中,%表示格式化符,后面会接具体的d,f, c, s等,
    当要输出%这个字符时,用%%来代替,
    所以%%d会输出%d,想要输出带%这个符号就要加2个%%,这样说你明白吧!

  • BrandonZhu
    2018-10-26 16:25:58

    十一行那里变成x%%y,因为printf()的第一个参数不是格式控制符吗,比如int a=1;  printf(" %d ",a);其中%d就表示整型,所以printf("%"); 就会有警告。如果是printf("\%");也不行。只有printf("%%");就表示输出%。
    比如printf("%%d");的输出就是%d (后边的怕解释不清楚,所以选择了百度百科的解释)

  • BrandonZhu
    2018-10-26 16:25:49

    十一行那里变成x%%y,因为printf()的第一个参数不是格式控制符吗,比如int a=1;  printf(" %d ",a);其中%d就表示整型,所以printf("%"); 就会有警告。如果是printf("\%");也不行。只有printf("%%");就表示输出%。
    比如printf("%%d");的输出就是%d (后边的怕解释不清楚,所以选择了百度百科的解释)