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