都显示报警了,不知道for循环里面的变量为什么一定要赋值?

#include<stdio.h>
int main()
{
int num=0;
printf("请输入一个数:\n");
scanf("%d",&num);
int i=2,a=0;
for(i;i<num;i++)
{
if(num%i==0)
a++;
}
if(a==0)
{
printf("%d是素数.\n",num);
}
else
{
printf("%d不是素数.\n",num);
}
return 0;
}

警告信息:||=== Build: Debug in practice (compiler: GNU GCC Compiler) ===|
E:\c++\practice\main.cpp||In function 'int main()':|
E:\c++\practice\main.cpp|8|warning: statement has no effect [-Wunused-value]|
||=== Build finished: 0 error(s), 1 warning(s) (0 minute(s), 1 second(s)) ===|

动漫人物
浏览 128回答 2
2回答

饮歌长啸

您好,很高兴回答您的问题。对于for 语言来说,他的语句结构就已经决定了,必须要对循环变量赋初始值,并且要求有循环能够运行的条件和循环趋于结束的变化,您这边若是直接写i的话,其实就是没有给i 赋值,那么循环就没有办法操作,所以会出现错误。所以在循环运行之前,一定要给循环变量赋初值。

慕丝7291255

for循环本来就是一个比较运行函数,你不把变量赋值,它怎么去判断有没有到目标值?
打开App,查看更多内容
随时随地看视频慕课网APP