gpt4 book ai didi

c - 为什么这个函数会输出它所做的数字?

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:44 25 4
gpt4 key购买 nike

输出

Fun1 is not fun
9

代码

#include <stdio.h>

int fun1(void){
printf("Fun1 is not fun\n");
return 45%54/5;
}

main()
{
int c;
c=fun1();
printf("%d\n", c);
}

问题

为什么从 45%54/5 输出 9?这不会输出2吗?我能看到这是 9 的唯一方法是跳过 %,(模数除法运算符,对吗?)然后除以 5,完全省略 54,但这对我来说毫无意义。

编辑:随机次要问题。如果我将我的文件命名为 test.c,使用 cc test.c -o test 编译它,然后键入“test”,没有任何反应。如果我以 test 以外的任何其他名称进行编译,它就可以正常工作。给了什么?

最佳答案

45 % 54 / 5

(45 % 54) / 5

其评估为:

45 % 54 = 45
45 / 5 = 9

45 mod 54 等于 45。无论您如何排序,我都看不到您期望如何得到 2。

关于c - 为什么这个函数会输出它所做的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com