我發現C語言(我是從JavaScript),我有這個簡單的腳本類型的C - 爲什麼我的變量沒有被銷燬?
#include "stdio.h"
int rand(){
int numb;
for (int i = 0; i < 4; ++i)
{
numb++;
}
return numb;
}
int main(int argc, char const *argv[])
{
int a = rand();
int b = rand();
printf("%i , %i\n", a, b);
return 0;
}
我的問題是,爲什麼我獲得相同的結果(4,8),好像變了declarated靜態&初始化爲0?
static int numb = 0;
我真的不知道約十分了解變量的作用域:■
謝謝!
你沒有初始化麻木。除非聲明爲「static」,否則它不會保留它在調用之間的值。 –
而不是寫成靜態的。 – lilezek
未定義的行爲''麻木++''。一旦你觸發UB,詢問爲什麼問題就沒有多大意義。 – PSkocik