学习C编程请帮助我

学习C编程请帮助我,c,C,我对这个问题有一个非常复杂的问题 这是我女朋友的试题,我解不出来。如果你能帮忙,我将不胜感激 #include <stdio.h> int main (void) { int x = 3; int p = 8; double y = -3.1415; x = 11 % 3 + 1/x * 3.9 - (double)x; y = -(p/x) * (x/p); printf("%d",p); printf("%lf",y); r

我对这个问题有一个非常复杂的问题

这是我女朋友的试题,我解不出来。如果你能帮忙,我将不胜感激

#include <stdio.h>
int main (void)
{
   int x = 3;
   int p = 8;
   double y = -3.1415;

   x = 11 % 3 + 1/x * 3.9 - (double)x;
   y = -(p/x) * (x/p);

   printf("%d",p);

   printf("%lf",y);

   return 0;
}
输出应为x=-1,y=0


我试图在纸上求解,但找不到正确的结果。

您需要了解整数除法和运算符优先级。您是否尝试过编译和运行它?可能需要跟随调试程序来查看它是如何得到结果的?您的printf%d,p;是否输入错误;。你不会输出x的值。是的,他们想让我们打印x和y的值,我写错了。它应该是x而不是p。你期望发生什么,为什么?你能解释为什么你的代码给出了正确的结果而我的代码没有?我做错了什么?唯一的改变是第一次打印。你能补充一下对整数除法和运算符优先级的理解吗?然后我将更改我的下一票。@Eren你在printf%d中打印p的值,p;不是x,并且您不需要放置新行字符来分隔这两个值以使其清晰显示。@machine_1我刚刚算出了,我是傻瓜,我看不到\n的。谢谢。@Eren另外,如果您不确定哪个运算符具有更高的优先级,您应该用括号括起来。
#include <stdio.h>

int main (void)
{
    int x = 3;

    int p = 8;

    double y = -3.1415;

    x = 11 % 3 + 1/x * 3.9 - (double)x;

    y = -(p/x) * (x/p);

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

    printf("%lf\n",y);

    return 0;
}