非法,左操作数的类型为“char[20]”到底哪里出错了

360U2900001429 |浏览1340次
收藏|2019/04/04 16:25

满意回答

2019/04/04 16:55

你给出的是一个判断质数与合数的程序段,没有放在main函数中。现已经对此程序作了修改,并给出了两种质数与合数的运行结果:#include <stdio.h>int main (){ int a,sum,i; sum=0; printf("Input the number to be judged:"); scanf("%d",&a); for(i=2;i<=a-1;i++) { if(a%i==0) { sum++; printf("All its approximations are:%d\n",i); } } /*system("color 06"); */ if(sum==0) printf("%d is prime.\n",a); else printf("%d is a composite number.\n",a); return 0;}

ygl990951

其他回答(1)
  • 你程序问题多了1.你上面的这段程序不可能报你的错2. scanf("请输入要判断的数%d\n"&a);有两个错1)scanf只是输入,它不会有任何提示的,你的“请输入。。。。”不光没作用,反而会影响输入的2)少了逗号 scanf("%d",&a);3.你的 printf("%d它是合数\n",a)后面少分号了4. if(a%i==0) sum++; printf("它的所有约数为%d\n",i);逻辑有问题正确的 if(a%i==0) { sum++; printf("它的所有约数为%d\n",i); }
    回答于 2019/04/04 17:14
0人关注该问题
+1

 加载中...