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

如何在C语言中覆盖已定义变量的数值,解决重定义报错问题

错误原因

C语言中,同一个作用域内不允许重复定义同名变量。你代码中第二次写int i=5;时,加了int类型声明,相当于在main函数的同一作用域下再次定义了一个名为i的变量,和前面定义的int i=4;冲突,所以触发重定义报错。

正确修改方式

要修改已经定义过的变量的数值,不需要重复写类型声明,直接对变量名赋值即可。
修改后的正确代码如下:

#include<stdio.h>
#include<math.h>

int main(void){
    int i=4;
    printf("before:%i",i);
    
    i=5; // 去掉int类型声明,直接赋值即可覆盖原有数值
    printf("after:%i",i);
    
    return 0;
}

内容的提问来源于stack exchange,提问作者Omkar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 15:18:01