C语言的高手帮忙解决一下这个问题 关于invalid operands to binary %

#include<stdio.h>#include<math.h>intmain(){doublei,n,sum=0;while(scanf("%lf",&n)!=EOF... #include<stdio.h>
#include<math.h>
int main()
{
double i,n,sum=0;
while(scanf("%lf",&n)!=EOF)
{
for(i=1;i<n;i++)
{
if (n%i=0)
sum=sum+i;}

if(sum>n) printf("盈数");
if(sum<n) printf("亏数");
if(sum==n) printf("完全数");
sum=0;

}
return 0;

}

这个是我写的东西
这个程序编译不能通过 不知道是什么问题
编译器说是
10 D:\我的文档\未命名3.c invalid operands to binary %

就是上面那个百分号取余有问题 我不知道是什么问题 有谁可以帮忙看一下 解释一下!
if (n%i==0)
不好意思 有个等于号复制上去的时候 复制漏了 改过来了 但还是存在那个百分号的问题 !!!
展开
 我来答
百度网友06bebf5
2009-06-07 · TA获得超过358个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:380万
展开全部
%号的优先级 比== 高
把它改成if((n%i)==0)

还有scanf("%lf",&n)!=EOF,这句会出问题
scanf 返回值是 输入值的个数,EOF=-1
因为你在键盘输入EOF, 在windows下 貌似不能用键盘输入,貌似ctrl+D/Z 不行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式