西皮呦 2022-03-03 18:42 采纳率: 83.3%
浏览 21
已结题

c语言中的重复定义问题?这样算吗 还是只有赋值了才算

这种叫重复定义吗?编译器还是可以运行的。

还是说只有第一次赋值了才叫重复定义呀

int main() {
int i;
if(2>1)
    int i=2; 

}

  • 写回答

2条回答 默认 最新

  • 四海一叶秋 2022-03-03 18:53
    关注

    同一作用域内只允许定义一次,跟是否赋值无关。

    int main() {
    int i;
    if(2>1)
        int i=2;
    }
    

    第二个int i作用域仅限于if内,不算重定义。if里i=2,出了if后i的值还是未初始化的随机值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月3日