C语言程序,报警了,不知道for循环里面的变量为什么一定要赋值?

#include<stdio.h>intmain(){intnum=0;printf("请输入一个数:\n");scanf("%d",&num);inti=2,a=0;f... #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)) ===|
展开
 我来答
月光下的qq
2020-07-17 · 科技优质答主
月光下的qq
采纳数:392 获赞数:669

向TA提问 私信TA
展开全部
您好,很高兴回答您的问题。
对于for 语言来说,他的语句结构就已经决定了,必须要对循环变量赋初始值,并且要求有循环能够运行的条件和循环趋于结束的变化,您这边若是直接写i的话,其实就是没有给i 赋值,那么循环就没有办法操作,所以会出现错误。所以在循环运行之前,一定要给循环变量赋初值。
扯什s
2020-07-17 · TA获得超过388个赞
知道答主
回答量:60
采纳率:60%
帮助的人:13.6万
展开全部
for循环本来就是一个比较运行函数,你不把变量赋值,它怎么去判断有没有到目标值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2020-07-17 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
for(i;i<num;i++)改为for(;i<num;i++)
追问
为什么会这样呢,小朋友我很多问号哎
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式