C语言静态变量问题? c语言问题 静态变量 求解

\u95ee\u4e00\u4e2ac\u8bed\u8a00\u9759\u6001\u53d8\u91cf\u7684\u95ee\u9898\uff1f

\u8bf7\u95ee\u8fd9\u4e2astatic c \u540ec\u6709\u4ec0\u4e48\u53d8\u5316\u5417\uff1f
\u7b54\uff1a\u6839\u636e\u4f60\u7684\u7a0b\u5e8f\uff0cc=c+1\uff0c\u6240\u4ee5c\u662f\u6709\u53d8\u6362\u7684\u3002
\u4e00\u76f4\u4fdd\u6301\u662f3\uff1f
\u7b54\uff1a\u4e0d\u662f\uff0c\u4ece3\u5f00\u59cb\u7684\u81ea\u52a0\u3002
\u4e0d\u81ea\u52a8\u52a01 \uff1f
\u7b54\uff1a\u81ea\u52a01.

static c\u8868\u793ac\u7684\u503c\u5c06\u88ab\u4fdd\u5b58\u5728\u9759\u6001\u533a\u3002\u901a\u4fd7\u7684\u8bf4\u5c31\u662f\u4e0d\u8bba\u8c03\u7528f(int a) \u591a\u5c11\u6b21\uff0cc\u53ea\u521d\u59cb\u5316\u4e00\u6b21\uff0c\u5e76\u4e14\uff0c\u5176\u503c\u662f\u6709\u4fdd\u5b58\u7684\u3002

\u4f8b\u5982\uff0c\u4f60\u7b2c\u4e00\u6b21\u8fdb\u5165\uff0cc\u521d\u59cb\u5316\u4e3a3\uff0c\u52a01\u540e\u4e3a4
\u7b2c\u4e8c\u6b21\u8fdb\u5165\uff0cc\u4e3a4\uff0c\u52a01\u4e3a5
\u7b2c\u4e09\u6b21\uff0cc\u4e3a5\uff0c\u52a01\u4e3a6
...
\u4f9d\u6b21\u4fdd\u5b58\u4f4f\u4e86c\u7684\u503c\u3002
\u6211\u4eec\u8981\u660e\u767d\uff0c\u4e00\u4e2a\u5b50\u51fd\u6570\u7684\u53d8\u91cf\u5728\u5b50\u51fd\u6570\u9500\u6bc1\u7684\u65f6\u5019\u5c31\u5e94\u8be5\u6d88\u4ea1\uff0c\u4f46\u662fstatic\u7684\u53d8\u91cf\u662f\u9759\u6001\u7684\u6240\u4ee5\u4e00\u76f4\u5b58\u5728\u3002
\u76f8\u5bf9\u4e8ec\uff0cb\u5c31\u60e8\u591a\u4e86\uff0c\u6bcf\u4e00\u6b21\u8fdb\u5165f\uff0cb\u90fd\u4e3a0.\u5176\u5b9e\uff0cb\u662f\u91cd\u65b0\u88ab\u521b\u5efa\u4e86\u4e00\u6b21\uff0c\u56e0\u4e3a\u7ed3\u675ff\u51fd\u6570\u540e\uff0cb\u5c31\u6d88\u4ea1\u4e86\u3002

\u8865\u5145\uff1ab\u786e\u5b9e\u6c38\u8fdc\u662f1\uff0c\u6b63\u89e3

\u7ed3\u679c\u5e94\u8be5\u662f8,17
\u4f60\u5728\u7eb8\u4e0a\u5199\u7684\u8ba1\u7b97\u8fc7\u7a0b\u91cc\u8fb9\u6709\u8fd9\u6837\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u6ca1\u6709\u533a\u5206func\u51fd\u6570\u91cc\u7684m\u548cmain\u51fd\u6570\u91cc\u7684m\u3002func\u51fd\u6570\u4e2d\u7684m\u662fstatic\u53d8\u91cf\uff0c\u5177\u6709\u9759\u6001\u5b58\u50a8\u65f6\u671f\uff0c\u4f46\u662f\u53ea\u6709\u4ee3\u7801\u5757\u4f5c\u7528\u57df\uff0c\u5bf9\uff0c\u6ce8\u610f\u53ea\u6709\u4ee3\u7801\u5757\u4f5c\u7528\u57df\uff0c\u4e5f\u5c31\u662f\u8bf4\u5f53\u4f60\u9000\u51fa\u8fd9\u4e2a\u4ee3\u7801\u5757\u7684\u65f6\u5019\uff0c\u8fd9\u4e2am\u4ecd\u50a8\u5b58\u5728\u5185\u5b58\u4e2d\u4f46\u662f\u4f60\u65e0\u8bba\u5982\u4f55\u90fd\u627e\u4e0d\u5230\u5b83\uff08\u5f53\u7136\uff0c\u4f60\u63d0\u524d\u7528\u6307\u9488\u4fdd\u5b58\u4e86\u5b83\u7684\u5730\u5740\u9664\u5916\uff09\u3002\u53e6\u5916\u4e00\u4e2a\u5c31\u662fstatic\u578bint\u53d8\u91cf\u5982\u679c\u4e0d\u8fdb\u884c\u521d\u59cb\u5316\u4f1a\u88ab\u9ed8\u8ba4\u4e3a0\u3002\u8fd9\u6837\u8fd9\u9053\u9898\u7684\u7b54\u6848\u5c31\u4e00\u76ee\u4e86\u7136\u4e86\u3002

      该局部变量的值在函数调用结束之后不会消失,而仍然保留其原值。即它所占用的存储单元不释放,在下一次调用该函数时,其局部变量的值仍然存在,也就是上一次函数调用结束时的值。

    第1次:返回0,m变成1

    第2次:返回1,m变成2

    第3次:返回2,m变成3

    第4次:返回3,m变成4

    第5次:返回4,m变成5

望采纳



除了范围之外,变量还有存活期,在这一期间变量能够保持它们的值。在存活期内一直保持模块级变量和公用变量的值,但是对于Dim声明的局部变量以及声明局部变量的过程,只有在过程执行时这些局部变量才存在。
通常,当一个过程执行完毕,它的局部变量的值就已经不存在,而且变量所占据的内存也被释放。当下一次执行这个过程时,其所有局部变量将被重新初始化。 §可以把局部变量定义成静态的,从而保留变量的值。在过程内部用关键字Static声明一个或几个变量,其用法和Dim语句完全一样:
Static 变量 As 类型
为了使过程中所有的局部变量为静态变量,可以在过程头的起始处加上关键字Static。这就使过程中的所有局部变量都变为静态,无论它们是用Static、Dim或Private声明的还是隐式声明的。可以在Static放在任何Sub或Function过程头的前面,包括事件过程和声明为Private的过程。
希望我能帮助你解疑释惑。

这不是很明显嘛,func先被调用4次(i从1到4,循环调用4次),打印输出再调用一次,m++后加操作,因此要少算一次,也就是4+1-1=4.

  • C璇█闈欐佸彉閲忛棶棰?
    绛旓細static鍙橀噺 static澹版槑鐨勫彉閲忎负鈥滈潤鎬佸眬閮ㄥ彉閲忊濓紝鍙橀噺鍐呭鍏锋湁鎸佷箙鎬銆傝灞閮ㄥ彉閲忕殑鍊煎湪鍑芥暟璋冪敤缁撴潫涔嬪悗涓嶄細娑堝け锛岃屼粛鐒朵繚鐣欏叾鍘熷笺傚嵆瀹冩墍鍗犵敤鐨勫瓨鍌ㄥ崟鍏冧笉閲婃斁锛屽湪涓嬩竴娆¤皟鐢ㄨ鍑芥暟鏃讹紝鍏跺眬閮ㄥ彉閲忕殑鍊间粛鐒跺瓨鍦紝涔熷氨鏄笂涓娆″嚱鏁拌皟鐢ㄧ粨鏉熸椂鐨勫笺俽eturn m++ 鍓嶇疆++鏄敤涔嬪墠灏卞姞1锛岀敤鐨勪汉鎷垮埌鐨勪竴瀹...
  • C璇█涓闈欐佸彉閲忛棶棰
    绛旓細鍏跺疄鏄繖鏍风殑銆闈欐佸彉閲忓湪鍐呭瓨涓瓨鍌ㄧ殑浣嶇疆锛屼笌鍏ㄥ眬鍙橀噺鏄悓涓涓尯鍩銆傛墍浠ワ紝鍦ㄧ紪璇戞湡闂达紝瀹冪殑瀛樺偍鍜屽ぇ灏忓氨宸茬粡纭畾浜嗭紝涔熷氨鏄凡缁忓垎閰嶄簡绌洪棿浜嗐傝屽湪C璇█涓紝鈥滃垎閰嶅唴瀛樷濆線寰鐪嬪仛鏄彉閲忚瀹氫箟鐨勪竴涓爣蹇椼傛墍浠ワ紝浣犲湪杩愯绋嬪簭鐨勬椂鍊欙紝鐢变簬闈欐佸彉閲忓凡缁忓垎閰嶈繃鍐呭瓨浜嗭紝涓嶄細鍐嶆杩涜鍒嗛厤浜嗭紝瀹冪殑瀹氫箟璇彞...
  • c璇█涓兘瀹氫箟闈欐佸彉閲鍚?
    绛旓細鍙互锛宻tatic鍦–璇█涓槸琛ㄧず涓涓彉閲忎负闈欐佸彉閲忕殑锛岃屼笉鏄父閲忥紝涔熶笉鏄笉鍙彉鐨勫彉閲銆傛墍璋撶殑闈欐佸彉閲忔湁涓ょ鎯呭喌锛屼竴绉嶆槸闈欐佸叏灞鍙橀噺锛屼竴绉嶆槸闈欐佸眬閮ㄥ彉閲忋傚儚鍦╒B锛孋#锛孋锛孋++锛孞ava锛孭HP锛孫bjective-C锛孞avaScript涓垜浠彲浠ョ湅鍒皊tatic浣滀负鍏抽敭瀛楀拰鍑芥暟鍑虹幇锛屽湪鍏朵粬鐨勯珮绾ц绠楁満璇█濡侳ORTRAN銆丄LGOL銆丆OB...
  • c璇█涓闈欐佸彉閲闇瑕佽嚜宸遍噴鏀?閭e閮ㄥ彉閲忓睘浜庨潤鎬佸瓨鍌ㄦ柟寮,涔︿笂璇撮潤...
    绛旓細闈欐佸彉閲忕殑闈欐侊細鍙橀噺鍗犵敤鐨勫瓨鍦板潃涓嶉噴鏀锛屼篃灏辨槸璇村畠鐨勫湴鍧瀹冧粠澶村埌灏句竴鍐呯洿鍗犵潃锛屽涓嶇粰鍏朵粬鍐呭瓨鍗曞厓鍗犵敤鑰屽凡锛屽叾鏈韩鐨勫兼槸鍙互鏀瑰彉鐨勩傚姩鎬佺殑鍙橀噺锛氭瘮濡傝皟鐢ㄥ嚱鏁颁綋閲屽畾涔夌殑鍙橀噺锛屽湪鍑芥暟鎵ц鍚庝究閲婃斁鍑哄幓锛屾妸鏈夌敤鐨勫湴鍧璧勬簮璐$尞缁欏叾浠栭噺锛岄噴鏀句互鍚庡鏋滀綘鐢ㄦ寚閽堟潵鎵撳嵃杩欎釜鍦板潃鐨勫肩殑璇濓紝灏卞緢鏈夊彲鑳戒笉...
  • c璇█static(闈欐佸彉閲銆侀潤鎬佸嚱鏁般侀潤鎬佸叏灞鍙橀噺)
    绛旓細鍦C璇█涓紝static鏄竴涓潪甯搁噸瑕佺殑鍏抽敭瀛楋紝瀹冨彲浠ョ敤浜庡畾涔闈欐佸彉閲銆侀潤鎬佸嚱鏁颁互鍙婇潤鎬佸叏灞鍙橀噺銆傞潤鎬佸彉閲忋侀潤鎬佸嚱鏁板拰闈欐佸叏灞鍙橀噺鐨勪綔鐢ㄥ煙鍜岀敓鍛藉懆鏈熶笌鏅氬彉閲忋佸嚱鏁板拰鍏ㄥ眬鍙橀噺鏈夋墍涓嶅悓锛屼娇鐢ㄥ畠浠彲浠ュ府鍔╂垜浠洿濂藉湴绠$悊绋嬪簭鐨勭姸鎬佸拰鏁版嵁銆傞潤鎬佸彉閲 闈欐佸彉閲忔槸鎸囧湪鍑芥暟鍐呴儴鎴栬呭潡鍐呴儴瀹氫箟鐨勫彉閲忥紝浣嗘槸瀹冪殑...
  • c璇█:static闂
    绛旓細涓銆闈欐鍏ㄥ眬鍙橀噺 鍏ㄥ眬鍙橀噺(澶栭儴鍙橀噺)鐨勮鏄庝箣鍓嶅啀鍐犱互static 灏辨瀯鎴愪簡闈欐佺殑鍏ㄥ眬鍙橀噺銆傚叏灞鍙橀噺鏄潤鎬佸瓨鍌ㄦ柟寮忥紝 闈欐佸叏灞鍙橀噺涔熸槸闈欐佸瓨鍌ㄦ柟寮忋 杩欎袱鑰呭湪瀛樺偍鏂瑰紡涓婂苟鏃犱笉鍚屻傝繖涓よ呯殑鍖哄埆铏藉湪浜庨潪闈欐佸叏灞鍙橀噺鐨勪綔鐢ㄥ煙鏄暣涓簮绋嬪簭锛 褰撲竴涓簮绋嬪簭鐢卞涓簮鏂囦欢缁勬垚鏃讹紝闈為潤鎬佺殑鍏ㄥ眬鍙橀噺鍦ㄥ悇涓簮鏂囦欢涓...
  • C璇█闈欐佸彉閲澹版槑涓嶆纭殑闂
    绛旓細鍦╢or璇彞涓畾涔夌殑鍙橀噺鐨勪綔鐢ㄥ煙鍙兘鍦╢or鍐咃紝鍦╢or寰幆浣撲箣澶栨槸涓嶈兘浣跨敤鐨勩傛妸cout<<a<<endl;涔熸斁鍦╢or涔嬪唴锛屾垨鑰呮妸static int a=2;鏀惧湪for涔嬪閮藉彲浠ョ紪璇戞垚鍔熴傝繖鏄彉閲忎綔鐢ㄥ煙鐨闂銆
  • 闂竴涓c璇█闈欐佸彉閲鐨闂?
    绛旓細绛旓細鑷姞1.static c琛ㄧずc鐨勫煎皢琚繚瀛樺湪闈欐鍖恒傞氫織鐨勮灏辨槸涓嶈璋冪敤f(int a) 澶氬皯娆★紝c鍙垵濮嬪寲涓娆★紝骞朵笖锛屽叾鍊兼槸鏈変繚瀛樼殑銆備緥濡傦紝浣犵涓娆¤繘鍏ワ紝c鍒濆鍖栦负3锛屽姞1鍚庝负4 绗簩娆¤繘鍏ワ紝c涓4锛屽姞1涓5 绗笁娆★紝c涓5锛屽姞1涓6 ...渚濇淇濆瓨浣忎簡c鐨勫笺傛垜浠鏄庣櫧锛屼竴涓瓙鍑芥暟鐨鍙橀噺鍦...
  • c璇█闈欐佸彉閲鐨勪竴閬撻
    绛旓細鎵璋闈欐佸彉閲灏辨槸璇磋鍙橀噺鐨勭┖闂村苟闈炲湪鍔ㄦ佸唴瀛樺尯鍩熷紑杈燂紝鑰屽湪闈欐佸唴瀛樺尯鍩熷紑杈燂紝涔熷氨鏄杩欎釜鍙橀噺绌洪棿涓缁忓垎閰嶉櫎闈炴暣涓▼搴忚繍琛屽畬锛岃繖涓彉閲忕殑绌洪棿鎵嶄細琚敹鍥炪傚嵆渚挎槸鍦ㄥ瓙鍑芥暟涓畾涔夌殑锛屾棤璁轰綘璋冪敤杩囧灏戞锛岄偅涓垵濮嬪寲鐨勮鍙ワ紙static int k=2)浠呬粎鍦ㄧ涓娆¤皟鐢ㄦ椂鎵ц锛岄殢鍚庨兘璺宠繃涓嶆墽琛屻備篃灏辨槸璇达紝i...
  • C璇█static瀹氫箟闈欐佸彉閲,涓嶅お鎳,璇疯В閲婁竴涓
    绛旓細static c = 3; 鍙垵濮嬪寲涓娆★紝鍚庨潰鍐嶄娇鐢╟灏辨槸鐢ㄤ笂娆()杩斿洖鍚巆鐨勭粨鏋 鎵浠ュ綋i=0鏃讹紝f()涓璦=2锛宑鍒濆鍖栦负3锛宑=c+1鍚巆=4锛岃繑鍥瀉+c=4+2=6銆傝繑鍥炲悗c淇濇寔涓4 褰搃=1鏃讹紝f()涓璦=2锛宑鍒濆鍊间负涓婃杩斿洖鍚庣殑缁撴灉4锛屼粠鑰宑=c+1=5锛屽嚱鏁拌繑鍥瀉+c=2+5=7銆傝繑鍥炲悗c淇濇寔涓5銆傚綋i=...
  • 扩展阅读:c语言简单问题及答案 ... c语言静态变量生存期 ... c语言常见错误及改正 ... 静态变量static会变吗 ... c语言的一些基本问题 ... c语言常见问题提问 ... c语言算法难题 ... c语言静态变量的例子 ... c语言过程中遇到的问题 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网