upd。所以我刚刚意识到这实际上是非常愚蠢的想法,因为,据我所知,没有办法将负面的“飞越”数字转换为字符串,除非以某种方式禁止编译器在数字前显示“ - ”。通过使用字符串避免32位溢出
这是我的第一条消息,请原谅我是否有什么问题。 因此,从第1周的演讲中得到了这个基本代码。
int main(void)
{
int n = 1;
for (int i = 0; i < 64; i++)
{
printf("n is %i\n", n);
n = n * 2;
}
}
我一直在想分配字符串n为了通过-20亿。
int main(void)
{
int n = 1;
for (int i = 0; i < 64; i++)
{
printf("n is %i\n", n);
n = n * 2;
if (n < 0){
string n = get_string();
printf("n is %s\n", n);
}
}
}
它给出了一个错误:declaration shadows a local variable
。有没有办法来解决这个问题?谢谢。
我认为这不是一个编译错误(它警告或汇编。选项会导致警告成为错误。),但是您可以使用不重复的其他名称。 – BLUEPIXY
另外我不认为让用户输入一个字符串将避免溢出。 – BLUEPIXY
'string n = get_string();'字符串在这里没有定义。 – wildplasser