當前位置:首頁 » 編程語言 » c語言靜態檢查

c語言靜態檢查

發布時間: 2022-12-10 11:14:43

① C語言中靜態存儲類型問題

樓主你好!
代碼分析如下!
#include <stdio.h>
int func(int x)
{int y=0;
static int z=3; //此處是靜態變數,靜態變數直到整個程序運行完才釋放,局部變數則是執行完該段函數後就釋放,這里的y,就是跟例子,所以每次運行fun函數y都是0,然後y++後為1,而z則不同,由於for循環執行了兩次,第一次z++後為4,第二次z++後為5
x=z++,y++; //這里雖然是逗號表達,但是=的運算優先順序是大於逗號的,所以,x實際上第一次循環是被賦予3,第二次是賦予了4,估計很多人會誤認為x是取到y的值,實際上錯誤的!
return(x);
}
int main()
{int a=2,i,b;
for(i=0;i<2;i++) //循環兩次
b=func(a++); //調用fun函數
printf("%d\n",b); //輸出b的值
}

最終結果是輸出4!
希望我的回答對你有幫助!有什麼不清楚的,請繼續追問!

熱點內容
湖北的伺服器地址是多少 發布:2025-09-18 16:51:09 瀏覽:484
神龍激活失敗缺少腳本 發布:2025-09-18 16:51:08 瀏覽:659
探探換手機號如何改密碼 發布:2025-09-18 16:50:59 瀏覽:67
公共文件伺服器訪問地址怎麼打開 發布:2025-09-18 16:44:34 瀏覽:11
小碼將編程 發布:2025-09-18 16:09:58 瀏覽:582
apn伺服器如何搭建 發布:2025-09-18 16:08:59 瀏覽:864
linuxc編譯環境搭建 發布:2025-09-18 16:07:26 瀏覽:538
11歲編程少女 發布:2025-09-18 16:04:51 瀏覽:816
電影新建文件夾圖解 發布:2025-09-18 15:55:17 瀏覽:159
java多線程任務 發布:2025-09-18 15:48:14 瀏覽:998