如何在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
相关产品推荐
相关产品推荐

