C语言循环中的“乘”问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:47:14
#include<stdio.h>

void main()
{
int a,b=1,c=1;

for(a=1;a<=64;a++)
{c*2;
b+=c;}
printf("%d",b);

}
问题是出在C*2,为什么错了,要怎样改进?

void main()
{
int a,b=1,c=1;

for(a=1;a<=64;a++)
{c=c*2;
b+=c;}
printf("%d",b);

}
光*2没有任何用`还要把值赋给c

c*=2;

你for循环没有加{} 就是说这个循环只包括到if(b%c==0)break;这一句如果是 for(c=2;c<=a;c++) { if(b%c==0)break; if(c>=a+1)printf("b是素数”); else if printf("b不好似素数”); } 就有问题看清楚?

c*2只是一个运算,没有赋值,应该是需要c=c*2吧

c*2;
你没有把这个值给c!应该改为c*=2或c=c*2!!
但是你仍然到一个答应,因为a在不断的自增中,而且c*2你后面加了分号,也就是构成了一个语句!
所以整个程序中,除了没到达到你想要答案,其他没有错

应该是c*=2;
c*2; 完全没有作用
写几百个都是没有用的,,,,没有赋值