一为什么C语言中把执行语句放在赋值语句前会出错,比如: int main() { printf(" C语言中for语句的疑惑:为什么只有把赋值语句放在for语句...

\u9898\uff1a\u6267\u884c\u4e0b\u9762\u7a0b\u5e8f\u4e2d\u7684\u8f93\u51fa\u8bed\u53e5\u540e\uff0ca\u7684\u503c\u662f() main () {int a ; printf("%d\n",(a=3*5,a*4,a+5));}

\u8fd9\u4e2a\u4e3b\u8981\u662f\u9017\u53f7\u8868\u8fbe\u5f0f\u7684\u8ba1\u7b97
\u9017\u53f7\u8868\u8fbe\u5f0f\u7684\u8981\u9886\uff1a
(1) \u9017\u53f7\u8868\u8fbe\u5f0f\u7684\u8fd0\u7b97\u8fc7\u7a0b\u4e3a\uff1a\u4ece\u5de6\u5f80\u53f3\u9010\u4e2a\u8ba1\u7b97\u8868\u8fbe\u5f0f\u3002
(2) \u9017\u53f7\u8868\u8fbe\u5f0f\u4f5c\u4e3a\u4e00\u4e2a\u6574\u4f53\uff0c\u5b83\u7684\u503c\u4e3a\u6700\u540e\u4e00\u4e2a\u8868\u8fbe\u5f0f\uff08\u4e5f\u5373\u8868\u8fbe\u5f0fn\uff09\u7684\u503c\u3002
(3) \u9017\u53f7\u8fd0\u7b97\u7b26\u7684\u4f18\u5148\u7ea7\u522b\u5728\u6240\u6709\u8fd0\u7b97\u7b26\u4e2d\u6700\u4f4e\u3002
\u6240\u4ee5\uff0c\u4f60\u7684\u90a3\u4e2a\u8868\u8fbe\u5f0f(a=3*5,a*4,a+5)\uff0c\u5148\u8ba1\u7b97a=3*5\uff1b\u8fd9\u65f6a=15\u4e86\uff0c\u7136\u540e\u8ba1\u7b97a*4=60\uff0c\u518d\u8ba1\u7b97a+5=20\uff1b\u9017\u53f7\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a\u6700\u540e\u4e00\u4e2a\u8868\u8fbe\u5f0f\u7684\u503c\uff0c\u6240\u4ee5(a=3*5,a*4,a+5)=20
\u4f60\u7684\u7a0b\u5e8f\u6700\u540e\u6253\u537020

\u4f60\u8fd9\u662f\u4e09\u5c42\u5d4c\u5957\u5faa\u73af\uff0c\u7b2c\u4e8c\u5c42\u5faa\u73afj\u7684\u503c\u6bcf\u6b21\u4ece0\u589e\u52a0\u52309\uff0c\u7b2c\u4e09\u5c42\u5faa\u73afk\u7684\u503c\u6bcf\u6b21\u4ece2\u52309\u3002
\u7a0b\u5e8f1\uff1a\u5f53i=1,j=0,for(;k9\uff0c\u4e0d\u80fd\u6267\u884cfor(;k<=9;++k)\u3002\u540c\u6837for(;j<=9;++j)\u6267\u884c\u5b8c\u540ej\u5c31\u53d8\u4e3a10\u3002\u6bcf\u6b21\u5faa\u73afj\uff0ck\u90fd\u8981\u91cd\u65b0\u8d4b\u503c\u7684\u3002
\u5916\u5c42\u5faa\u73af\u53ef\u4ee5\u8fd9\u6837\u5199for(;i<=2;++i)
\u4e0d\u77e5\u9053\u8bf4\u6e05\u695a\u4e86\u6ca1~

可能是c语言的问题,c语言本身是必须在程序的一开始就把所有的变量都声明了才行的。 但是现在的编译器一般都不会检查这个问题。
谢谢,望采纳。

是你的编译器不支持c99或以上的标准,换编译器吧.

你确定你这个有错????这样写是没错的,但是你说那个就是的确有问题,必须先声明后执行才可以用,否则程序会报此变量未定义!

编译原理规定,变量使用的空间开辟是先申明,后开辟的。

main声明是返回int,没有返回值

  • C璇█涓鐨勬瘡鏉鎵ц璇彞閮介渶瑕佺敤鍒嗗彿缁撴潫鍚??
    绛旓細濡傦細If (x>b);b=x;澶氫綑鐨勫垎鍙蜂細琚В閲婁负绌璇彞锛屽疄闄呬骇鐢熺殑鏁堟灉鏄細If(x>b){} b=x;涔熷氨鏄褰搙>b鏃讹紝鎵ц绌鸿鍙ワ紝鍦ㄤ换浣曟儏鍐典笅浼氭墽琛宐=x銆傚鏋滃湪C绋嬪簭涓婕忓啓浜嗕竴涓垎鍙凤紝灏辫〃绀哄綋鍓嶈鍙ュ苟娌℃湁缁撴潫锛屽悓鏍蜂細宸敊銆傚锛欼f(n<3)return log.date=x[0];log.time=x[1];log.code=x[2...
  • C璇█鍩烘湰闂
    绛旓細杩欐槸姝g‘鐨勩備簲銆佺5棰樷C璇█涓斁鍦鈥溾濅箣闂寸殑鍐呭閮借瑙嗕负瀛楃涓茬殑涓涓瀯鎴愰儴鍒嗭紝閮藉彲浠ュ湪灞忓箷涓婂師鏍锋樉绀衡濈殑璇存硶鏄敊璇殑銆備妇涓涓緥瀛愬氨鍙互浜嗭細print("%d",8);鏄墦鍗颁笉鍑烘潵%d鐨勶紝瀹冨彧鑳芥墦鍗板嚭鏉8銆傛墍浠ュ畠鏄敊鐨勩傚叚銆佺7棰橈紝璁緓銆乼鍧囦负int鍨嬪彉閲忥紝鍒鎵ц璇彞"x = 10;t = x && x ...
  • c璇█涓for璇彞鏄庝箞鐢ㄧ殑
    绛旓細c璇█涓for璇彞鐢ㄦ硶锛歠or鏄C璇█涓鐨勪竴涓叧閿瓧锛屼富瑕佺敤鏉ユ帶鍒跺惊鐜璇彞鐨勬墽琛銆備妇渚嬶細int i;for(i=0; i<3; i++)// i=0鏄垵濮嬪寲閮ㄥ垎锛沬<3鏄惊鐜垽鏂潯浠堕儴鍒嗭紙褰撴弧瓒虫鏉′欢鏃舵墠杩涘叆鎵цfor寰幆涓殑璇彞锛夛紱i++鏄墽琛屽畬寰幆浣撹鍙ュ悗鐨勬搷浣 { printf("HelloWorld");} // 涓婇潰鐨刦or璇彞灏辨槸...
  • C璇█涓鐨勬瘡鏉鎵ц璇彞閮介渶瑕佺敤鍒嗗彿缁撴潫鍚??
    绛旓細濡傦細If (x>b);b=x;澶氫綑鐨勫垎鍙蜂細琚В閲婁负绌璇彞锛屽疄闄呬骇鐢熺殑鏁堟灉鏄細If(x>b){} b=x;涔熷氨鏄褰搙>b鏃讹紝鎵ц绌鸿鍙ワ紝鍦ㄤ换浣曟儏鍐典笅浼氭墽琛宐=x銆傚鏋滃湪C绋嬪簭涓婕忓啓浜嗕竴涓垎鍙凤紝灏辫〃绀哄綋鍓嶈鍙ュ苟娌℃湁缁撴潫锛屽悓鏍蜂細宸敊銆傚锛欼f(n<3)return log.date=x[0];log.time=x[1];log.code=x[2...
  • 姹傛暀c璇█涓switch璇彞鐨勮缁嗙敤娉
    绛旓細涓銆佸熀鏈牸寮 switch璇彞鍦C璇█涓鐢ㄤ簬鍩轰簬涓嶅悓鐨勬儏鍐鎵ц涓嶅悓鐨勪唬鐮佸潡銆傚叾鍩烘湰鏍煎紡濡備笅锛歝 switch { case constant1:// 浠g爜鍧1 break;case constant2:// 浠g爜鍧2 break;// 鍙互鏈夊涓猚ase璇彞 ...default: // 鍙夌殑锛屽綋娌℃湁浠讳綍case鐨別xpression鍊煎尮閰嶆椂浣跨敤 // 榛樿浠g爜鍧 } 鍏朵腑锛...
  • C璇█if璇彞鐨浣跨敤璁茶В
    绛旓細if璇彞鐨勪娇鐢 鐢╥f璇彞鍙互鏋勬垚鍒嗘敮缁撴瀯銆傚畠鏍规嵁缁欏畾鐨勬潯浠惰繘琛屽垽鏂紝浠ュ喅瀹鎵ц鏌愪釜鍒嗘敮绋嬪簭娈点C璇█鐨if璇彞鏈変笁绉嶅熀鏈舰寮忋傝鍙ョ殑涓夌褰㈠紡 1) 绗竴绉嶅舰寮忎负鍩烘湰褰㈠紡锛歩f if(琛ㄨ揪寮) 璇彞 鍏惰涔夋槸锛氬鏋滆〃杈惧紡鐨勫间负鐪燂紝鍒欐墽琛屽叾鍚庣殑璇彞锛屽惁鍒欎笉鎵ц璇ヨ鍙ャ傘愪緥1銆慽nclude int main(void){ in...
  • c璇█涓墽琛棣璇彞鎬庝箞鍐
    绛旓細C璇█绋嬪簭鏄粠婧愭枃浠剁殑绗竴鏉璇彞寮濮鎵ц鐨銆傛墽琛屼笅闈㈢▼搴忔鍚庯紝c3涓殑鍊兼槸锛( )锛沬nt c1=1 , c2=2 , c3; c3=c1/c2;A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)-- i銆
  • C璇█涓墽琛瀹宻witch璇彞涓鐨刣efault璇彞鍚庢槸璺冲嚭switch杩樻槸杩樿鎵ц...
    绛旓細濡傛灉default璇彞鍦ㄥ墠闈紙涓嶆槸switch璇彞鏈鍚庝竴鏉璇彞鐨璇濓紝涓斿悗闈㈡病鏈塨reak锛夊垯瑕鎵ц鍚庨潰鐨刢ase鐩村埌閬囧埌break鎴栬呮墽琛屽畬姣曘傚鏋滄槸鏈鍚庝竴鏉¤鍙ワ紝涔熷氨鎵ц瀹屼簡锛岃烦鍑簊witch璇彞
  • c璇█switch璇彞涓殑default鏀惧湪鍓嶉潰鏄笉鏄厛鎵ц浠栧悗闈鐨勮鍙,鍐嶆墽琛...
    绛旓細骞朵笉鏄繖鏍风殑銆俿witch璇彞鐨鏍煎紡涓猴細switch(expr){ case A:break;case B:break;...default:break;} 涔犳儻涓婃妸default鍐欏湪鏈涓嬮潰锛屼絾瀹為檯涓婂氨鍍忓啓鍦ㄤ腑闂寸殑case鐨勯『搴忎笌缁撴灉鏃犲叧涓鏍凤紝default鐨勪綅缃竴鏍蜂篃鍜岀粨鏋滄棤鍏炽傚綋鎵цswitch璇彞鏃讹紝鏃犺default浣嶄簬鍝釜浣嶇疆锛岄兘浼氬厛妫鏌ユ瘡涓猚ase鏄惁涓巈xpr鐨勫肩浉鍚...
  • 濡傛灉鑳芥妸C璇█鐨瑕佺偣缁欐垜鍒楃殑鍦ㄨ缁嗕竴鐐瑰氨鏇村ソ浜
    绛旓細(2)鍑芥暟鍚嶅悗蹇呴』鏈夊皬鎷彿,鍑芥暟浣鏀惧湪澶ф嫭鍙峰唴銆(3)C绋嬪簭蹇呴』鐢ㄥ皬鍐欏瓧姣嶄功鍐欍(4)姣忓彞鐨勬湯灏惧姞鍒嗗彿銆(5)鍙互涓琛屽鍙ャ(6)鍙互涓鍙ュ琛屻(7)鍙互鍦ㄧ▼搴忕殑浠讳綍浣嶇疆鍔犳敞閲娿3.璇彞绉嶇被璇彞鏄▼搴忕殑鍩烘湰鎴愬垎,绋嬪簭鐨勬墽琛屽氨鏄氳繃涓鏉℃潯璇彞鐨勬墽琛鑰屽緱浠ュ疄鐜扮殑,鏍规嵁琛ㄧ幇褰㈠紡鍙婂姛鑳界殑涓嶅悓,C璇█鐨鍩烘湰璇彞鍙互鍒...
  • 扩展阅读:c语言怎么多次执行 ... c语言中 是什么意思及用法 ... 二级c语言好不好考 ... arduion ide if语句没用 ... c语言如何重复一句话三遍 ... c语言中非8是真还是假 ... 为什么c语言无法执行 ... 为什么c语言中有非0和1 ... 0在c语言中是什么意思 忑 ...

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