括号的作用,添加与不添加有啥区别

img


为啥加上for里面的所有括号就不能输出,去掉就能输出啊,还有素数有没有简单的办法啊。

因为if(i<n)代码块必须在for循环结束后才能执行。你加了括号等于是for每次循环都会执行一遍,当然不对了。
如果想循环次数更少一些,可改成if(i<2;i * i<=n;i++)
然后if(i<n)改为 if(i*i>n)

你括号括错地方了,怎么把printf也一起括进来了,printf应该在for循环结束之后执行啊,否则for循环每执行一次都print一个东西出来,不乱套了