printf(“%d,%d,%d\n”,(a++,b++,c++),b,c)是什么意思 在C语言中 printf("a=%%d,b=%%d\n",a...

C\u8bed\u8a00\u4e2d int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d\n",b,c); b\u548cc\u4e3a\u4ec0\u4e48\u90fd\u7b49\u4e8e0

\u56e0\u4e3aa=0\u6240\u4ee5&&\u53f3\u8fb9\u7684\u5c31\u88ab\u77ed\u8def\u4e86\uff0c\u4e0d\u88ab\u6267\u884c\uff0c \u6240\u4ee5\u6700\u540ea, b, c\u7684\u503c\u90fd\u4e0d\u53d8\uff0c\u90fd\u4e3a0

%%\u662f\u8f93\u51fa%\u53f7\u3002%\u662f\u8f6c\u4e49\u7b26\u3002%d \u8f93\u51fa\u6574\u578b\u3002%nd \u8f93\u51fa\u7684\u6574\u578b\u5bbd\u5ea6\u81f3\u5c11\u4e3an\u4f4d\uff0c\u53f3\u5bf9\u9f50\uff0c]\u5373\u5bbd\u5ea6\u81f3\u5c11\u4e3a5\u4f4d\uff0c\u4f4d\u6570\u5927\u4e8e5\u5219\u8f93\u51fa\u5b9e\u9645\u4f4d\u6570\uff0c%0nd \u7528\u5f97\u6bd4\u8f83\u591a\uff0c\u8868\u793a\u8f93\u51fa\u7684\u6574\u578b\u5bbd\u5ea6\u81f3\u5c11\u4e3an\u4f4d\uff0c\u4e0d\u8db3n\u4f4d\u75280\u586b\u5145\u3002
C\u8bed\u8a00\u4e2d%\u6709\u4e24\u79cd\u610f\u601d\uff0c\u7b2c\u4e00\u8868\u793a\u6c42\u4f59\u7b26\u53f7\uff0c\u7ecf\u5e38\u4f1a\u7528\u5230\u5224\u65ad\u4e00\u4e2a\u6570\u662f\u4e0d\u662f\u80fd\u88ab\u53e6\u4e00\u4e2a\u6574\u9664\u3002
\u5982\uff1a7%3=1\uff087\u9664\u4ee53\uff0c\u4f59\u4e0b1,\uff09 1%3=1\uff081\u9664\u4ee53\u9664\u4e0d\u5c3d\uff0c\u4f59\u4e0b1\uff09\uff1b
\u5982\u5224\u65ad\u4e00\u4e2am\u662f\u5947\u6570\u8fd8\u662f\u5076\u6570\uff1f\u4ee3\u7801\u5982\u4e0b\uff1aif(m%2==0) print f("\u5076\u6570")\u3002
2\u3001\u5f15\u5bfc\u7b26\uff0c\u7528\u4e8e\u5f15\u5bfc\u8f93\u5165\u8f93\u51fa\u9879\u8868\u5217\u7684\u683c\u5f0f\u3002
\u4f8b\u5982\uff1aprint f("%d%c%f",a,b,c);\u610f\u601d\u5c31\u662fa\u4ee5\u6574\u578b\u8f93\u51fa\uff0cb\u4ee5\u5b57\u7b26\u578b\u8f93\u51fa\uff0cc\u4ee5\u5b9e\u578b\u8f93\u51fa\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u4f18\u5148\u7ea7\uff1aC\u8bed\u8a00\u4e2d\uff0c\u8fd0\u7b97\u7b26\u7684\u8fd0\u7b97\u4f18\u5148\u7ea7\u5171\u5206\u4e3a15 \u7ea7\u30021 \u7ea7\u6700\u9ad8\uff0c15 \u7ea7\u6700\u4f4e\u3002 \u5728\u8868\u8fbe\u5f0f\u4e2d\uff0c\u4f18\u5148\u7ea7\u8f83\u9ad8\u7684\u5148\u4e8e\u4f18\u5148\u7ea7\u8f83\u4f4e\u7684\u8fdb\u884c\u8fd0\u7b97\u3002\u800c\u5728\u4e00\u4e2a\u8fd0\u7b97\u91cf\u4e24\u4fa7\u7684\u8fd0\u7b97\u7b26 \u4f18\u5148\u7ea7\u76f8\u540c\u65f6\uff0c\u5219\u6309\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u6240\u89c4\u5b9a\u7684\u7ed3\u5408\u65b9\u5411\u5904\u7406\u3002
\u7ed3\u5408\u6027\uff1aC\u8bed\u8a00\u4e2d\u5404\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u5206\u4e3a\u4e24\u79cd\uff0c\u5373\u5de6\u7ed3\u5408\u6027(\u81ea\u5de6\u81f3\u53f3)\u548c\u53f3\u7ed3\u5408\u6027(\u81ea\u53f3\u81f3\u5de6)\u3002\u4f8b\u5982\u7b97\u672f\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u662f\u81ea\u5de6\u81f3\u53f3\uff0c\u5373\u5148\u5de6\u540e\u53f3\u3002\u5982\u6709\u8868\u8fbe\u5f0fx-y+z \u5219y \u5e94\u5148\u4e0e\u201c-\u201d\u53f7\u7ed3\u5408\uff0c\u6267\u884cx-y \u8fd0\u7b97\uff0c\u7136\u540e\u518d\u6267\u884c+z \u7684\u8fd0\u7b97\u3002
\u8fd9\u79cd\u81ea\u5de6\u81f3\u53f3\u7684\u7ed3\u5408 \u65b9\u5411\u5c31\u79f0\u4e3a\u201c\u5de6\u7ed3\u5408\u6027\u201d\u3002\u800c\u81ea\u53f3\u81f3\u5de6\u7684\u7ed3\u5408\u65b9\u5411\u79f0\u4e3a\u201c\u53f3\u7ed3\u5408\u6027\u201d\u3002\u6700\u5178\u578b\u7684\u53f3\u7ed3\u5408 \u6027\u8fd0\u7b97\u7b26\u662f\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002\u5982x=y=z,\u7531\u4e8e\u201c=\u201d\u7684\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u5148\u6267\u884cy=z \u518d\u6267\u884cx=(y=z)\u8fd0\u7b97\u3002C\u8bed\u8a00\u8fd0\u7b97\u7b26\u4e2d\u6709\u4e0d\u5c11\u4e3a\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u6ce8\u610f\u533a\u522b\uff0c\u4ee5\u907f\u514d\u7406\u89e3\u9519\u8bef\u3002
\u4f18\u5148\u7ea7\u4ece\u4e0a\u5230\u4e0b\u4f9d\u6b21\u9012\u51cf\uff0c\u6700\u4e0a\u9762\u5177\u6709\u6700\u9ad8\u7684\u4f18\u5148\u7ea7\uff0c\u9017\u53f7\u64cd\u4f5c\u7b26\u5177\u6709\u6700\u4f4e\u7684\u4f18\u5148\u7ea7\u3002
\u6240\u6709\u7684\u4f18\u5148\u7ea7\u4e2d\uff0c\u53ea\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u662f\u4ece\u53f3\u81f3\u5de6\u7ed3\u5408\u7684\uff0c\u5b83\u4eec\u662f\u5355\u76ee\u8fd0\u7b97\u7b26\u3001\u6761\u4ef6\u8fd0\u7b97\u7b26\u3001\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002\u5176\u5b83\u7684\u90fd\u662f\u4ece\u5de6\u81f3\u53f3\u7ed3\u5408\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-%
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u8fd0\u7b97\u7b26

int b=3,c=3;
输出1 是输出 逗号表达式 (a++,b++,c++) 的值
逗号表达式 的 值 等于 最右 一个式子 c++ 的 当前 值,就是 c 的当前值(尚未自增)
逗号表达式 里的3个式子 用的是 后缀加,所以 a,b,c 用当前值,出了逗号表达式后再 各自 增加 1。
输出2 是输出 自增 1 后 的 b 值(已自增)
输出3 是输出 c 的当前值 -- 这同编译器编译优化处理有关,它可能仍用原值,也可能已增1。若未增1,则 出了打印语句后 会自增1。
(建议,不要使用这种 带 不确定 因素的 语句。)
--
例子, MS VC++ 5.0
#include<stdio.h>
int main()
{
int a=1,b=3,c=3;
printf("%d, %d, %d",(a++,b++,c++),b,c);
return 0;
}
输出: 3, 4, 3
(不是 3,3,4)

按十进制输出(a++,b++,c++)、b、c三个表达式的值,中间用逗号隔开。

朋友你恍然大悟了?我看未必。请VC++6.0下的结果:



printf输出语句执行前, b = 3, c = 3;
执行printf语句时,(a++, b++, c++)逗号表达式执行,并且返回最后一个逗号后的c++的值作为整个逗号表达式的值,而c++返回值为3; 执行完该逗号表达式后,c的值变为4; 接着输出b;接着输出4。
因而输出的结果为3,3,4.

就是输出表达式的值啊,

输出为3,4,4

  • printf('% d','%% d');杈撳嚭浠涔?
    绛旓細鍦–璇█涓printf("a=%%d,b=%%d\n",a,b);閲岀殑%%d鏄▼搴忚緭鍑虹粨鏋溿俤鏄〃绀哄悗闈㈢殑鍙橀噺b鐨勫肩敤鏁存暟褰㈠紡鏄剧ず銆傚悗闈㈢殑涓や釜%锛岃〃绀烘樉绀轰竴涓%銆傚鏋渂鐨勫兼槸20锛屽垯杈撳嚭鏄20%鈥濄傚鏋滆杈撳嚭鏁存暟a,b鐨勫硷紝搴旀敼涓簆rintf("a=%d,b=%d\n",a,b)銆
  • printf("%d,%d,%d,\n",a++,a,++a)
    绛旓細鐢变簬鎿嶄綔鏁版嵁鍙樺寲锛屾墽琛岄『搴忎笉鍚岋紝鍏剁粨鏋滀笉鍚屻備笁鑰呰仈鍚堟搷浣滀笌鍗曠嫭鎵ц鏁堟灉鍙堜笉涓鏍凤紝鍗曠嫭鎵ц鏁堟灉濡備笅锛
  • c璇█濡備綍鐞嗚В printf('%d,%d,%d",a++,a++,a++)
    绛旓細int a=1;printf("%d,%d,%d\n",a++,a++,a++);printf("%d\n",a);} 杩愯鍚庣殑缁撴灉濡備笅锛屼綘鑳芥槑鐧藉悧锛3,2,1 4 杩欎釜璇彞鏄槑鐧戒簡浼氭槑鐧紺璇█閲岄潰涓や釜闅炬噦鐨勪笢瑗匡細printf("%d,%d,%d\n",a++,a++,a++);棣栧厛a++鍜++a鏄浣曞伐浣滅殑锛歛++灏辨槸鐢╝鍙備笌琛ㄨ揪寮忕殑璁$畻锛岀劧鍚庢妸a+1鐨勫煎瓨鍏...
  • c璇█涓%d %%d %%%d 鐨勫尯鍒
    绛旓細1銆%d锛琛ㄧず鎸夋暣鍨嬭緭鍑哄悗闈㈢粰鍑虹殑鍙橀噺鐨勫笺2銆%%d 锛杩欏氨浼氳鎷嗘垚涓ら儴鍒嗙湅寰咃紝涓鏄%%鈥濆湪C璇█涓氨鏄緭鍑轰竴涓%鈥濓紝鑰屾槸鈥渄鈥濆氨鏄竴涓櫘閫氬瓧绗︼紝鎵浠ュ綋鈥%%d鈥濆湪涓璧锋椂锛屽叾鍚箟灏辨槸杈撳嚭鈥%d鈥濊繖涓や釜瀛楃銆3銆%%%d 锛3涓%鍦ㄤ竴璧凤紝杩涜鎷嗗垎鐨勮瘽锛%%浠h〃涓涓%鈥濆瓧绗︼紝鍚庨潰鐨%d鍙堜唬...
  • c璇█printf()涓殑% d鏄粈涔堟剰鎬?
    绛旓細c璇█涓, %d\n 鏄痯rintf()鍑芥暟鐨勬牸寮忔帶鍒锛%d鏄痯rintf()鍑芥暟鐨勬牸寮忓0鏄庯紝琛ㄧず缁撴灉鍙兘杈撳嚭鍗佽繘鍒舵暣鏁帮紝\n鏄櫘閫氬瓧绗︿腑鐨勬崲琛岀锛岃〃绀鸿緭鍑哄悗鎺у埗绉诲埌涓嬩竴琛岀殑寮澶淬俢璇█涓璸rintf()鍑芥暟鐨勪竴鑸牸寮printf("<鏍煎紡鍖栧瓧绗︿覆>", <鍙傞噺琛>)銆傛牸寮忓寲瀛楃涓茬敱鏍煎紡鎺у埗銆佸拰杈撳嚭琛ㄥ垪涓ら儴鍒嗙粍鎴愶紝鍏朵腑鏍煎紡鎺у埗...
  • printf()涓殑% ld銆% d鏄粈涔堟剰鎬?
    绛旓細1銆%ld琛ㄧず鏁版嵁鎸夊崄杩涘埗鏈夌鍙烽暱鍨嬫暣鏁拌緭鍏ユ垨杈撳嚭锛屽鏋滄槸32浣嶏紝杈撳嚭4瀛楄妭銆2銆%d琛ㄧず鏁版嵁鎸夊崄杩涘埗鏈夌鍙锋暣鍨嬫暟杈撳叆鎴栬緭鍑猴紝濡傛灉缂栬瘧鍣32浣嶏紝鍙互杈撳嚭8瀛楄妭銆傜ず渚嬶細printf("%5d\n",1000);//榛樿鍙冲榻,宸﹁竟琛ョ┖鏍 printf("%-5d\n",1000);//宸﹀榻,鍙宠竟琛ョ┖鏍 printf("%+d%+d\n",1000,-...
  • C璇█涓殑printf("%d,%d,%d\n",z++,++z,z++);闂
    绛旓細printf("%d %d %d\n", ++z, ++z,++z);鍦ㄤ綘鐨勭紪璇戝櫒涓婃渶缁堢粨鏋滀細鏄6 6 6锛屽洜涓轰粠鍙冲線宸﹁绠楋紝浣嗘槸鍑℃槸甯﹀墠缃嚜澧炶繍绠楃鐨勯兘浼氬湪鏈鍚庤璧嬪笺傚悓鏍峰湴锛歩nt z = 3;printf("%d %d %d\n", ++z, ++z,z++);杩欐璇彞鐨勭粨鏋滀細鏄6 6 3锛屽洜涓烘渶鍚庝竴涓弬鏁颁笉浼氱瓑鍒版渶鍚庡啀璧嬪硷紝鑰屽墠涓や釜浼...
  • c璇█涓 printf("%d,%d,%d\n",10);浼氳緭鍑轰粈涔??
    绛旓細杈撳嚭鐨勭粨鏋滀负10锛孹XXXXX,XXXXXXX,x鐨勬剰鎬濇槸鍨冨溇鏁帮紝鍥犱负娌℃湁琚祴鍊硷紝鎵浠ュ湪C璇█閲岄粯璁や负鍨冨溇鏁帮紝闅忔満鐢熸垚涓嶅悓鐨勮嚦灏6浣嶄互涓婄殑鏁帮紒
  • printf("%d,%d,%dn",i,j,k);涓殑%鏄粈涔堟剰鎬,鍚庤竟鐨勫瓧姣嶅張鏄剰鎬漘鐧惧害...
    绛旓細"%"鍜屽叾鍚庨潰鐨勫瓧绗鍒嗗埆鏄浆鎹㈣鏄庣鍜岃浆鎹㈠瓧绗(鍚堣捣鏉ョО涓鸿浆鎹㈣鏄),瀹冩寚瀹氫簡鏄剧ず鍙傛暟鏃剁殑鏍煎紡.鍦%鍜岃浆鎹㈠瓧绗︿箣闂磋繕鍙互鍔犱竴浜涚壒娈婂瓧绗,鐢ㄦ潵鎺у埗杈撳嚭鐨勫煙瀹界瓑.浠ヤ笅鏄嚑绉嶅父鐢ㄧ殑杈撳嚭鏍煎紡:int(鏁村瀷) 鐢%d杈撳嚭 float(娴偣鍨) 鐢%f杈撳嚭 char(瀛楃鍨) 鐢%c杈撳嚭 ...
  • printf涓% d% f% s鏄粈涔堟剰鎬?
    绛旓細1銆%d锛d鏍煎紡瀛楃銆傜敤鏉ヨ緭鍑哄崄杩涘埗鏁存暟锛屾寜鏁村瀷鏁版嵁鐨勫疄闄呴暱搴﹁緭鍑恒2銆 %f 锛岀敤鏉ヨ緭鍑哄疄鏁帮紙鍖呮嫭鍗曞弻绮惧害锛夛紝浠ュ皬鏁板舰寮忚緭鍑恒侰璇█涓浜庝笉鍚岀被鍨嬬殑鏁版嵁鐢ㄤ笉鍚岀殑鏍煎紡瀛楃锛岃繖涓や釜閮芥槸printf鍑芥暟鏍煎紡瀛楃銆
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网