不懂就问,这么写有什么问题吗,查了好久才发现

探头qing_qing 2023-11-15 18:02:14

int j=2;
    for(int j;j<value;j++){
            if(value%j == 0){
                printf("-1"); 
                return false;  
            }
        }

...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
根本学不够 2023-11-16
  • 打赏
  • 举报
回复

你的代码有一个问题,即在for循环中重新声明了变量j。在for循环中只需要对变量j进行初始化,不需要重新声明,应该这样修改:
int j;
for(j = 2; j < value; j++){
if(value % j == 0){
printf("-1");
return false;
}
}

探头qing_qing 2023-11-16
  • 举报
回复
@根本学不够 对的,重复定义会编译错误
zara 2023-11-16
  • 打赏
  • 举报
回复

有,好像 for 里是重新定义了个变量 j ,和前面的 j=2 不是一个了。

探头qing_qing 2023-11-16
  • 举报
回复
@zara 是的,不允许重复定义

69,666

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧