#include <stdio.h>
int main(void)
{
int i = 365, j = 100, result = i + j;
printf("i + j is %i\n", result);
int i = 100, j = 1;
printf("i + j is %i\n", result);
return 0;
}
9.c:10:10: 错误:声明隐藏了局部变量 [-Werror,-Wshadow] 9.c:8:9: 错误:'i' 的重新定义
最佳答案
将 int i = 100
替换为 i = 100
。
在 C 和 C++ 中,不允许在同一范围内重新声明变量。但是您可以将 i
设置为不同的值,这就是我所做的更改。
最后,如果您希望 result
的最终输出是 i
和 j< 的 new 值之和
,那么你必须重新计算。将 result = i + j;
放在 printf
调用之前。
关于c - 如何在 C 中重新定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40892201/