You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

for循环报错‘expected identifier or '('’问题求助

解决C语言for循环中多变量定义的编译错误

你的编译错误完全来自for循环的初始化语法问题:在C语言中,同一类型的多个变量在for循环初始化块中定义时,只需要声明一次类型,不能重复写int。

错误代码行:

for (int i = 1, int j = 0; i < n; i++, j++)

修正后的正确写法:

for (int i = 1, j = 0; i < n; i++, j++)

补充优化建议

你的代码还有两个可改进的点:

  • 变量j完全可以用i-1替代,没必要额外声明,能让代码更简洁:
    for (int i = 1; i < n; i++)
    {
        printf("%i ", power[i-1]);
        power[i] = power[i - 1] * 2;
    }
    // 循环结束后别忘了打印最后一个元素
    printf("%i\n", power[n-1]);
    
  • 你使用的int power[n]是变长数组(VLA),虽然后续C标准支持,但如果在不兼容VLA的编译器环境下可能出问题,建议根据需求改用动态内存分配或固定大小数组。

内容的提问来源于stack exchange,提问作者Santiago De Luca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:05:56