求大神指导int i=0;do printf("%d,",i);while(i++);printf("%d\n",i);详解输出结果 i=0;do printf(“%d,”,i); while(...

i=0;do printf(\u201c%d,\u201d,i); while(i++); printf(\u201c%d\n\u201d,i)\u8f93\u51fa\u7ed3\u679c\u662f \uff08 \uff09

do while\u5faa\u73af\uff0c\u6267\u884c\u4e00\u6b21\u5c31\u9000\u51fa\uff0c\u56e0\u4e3ai\u4e3a0\uff0c++\u662f\u540e\u7f00\u8868\u8fbe\u5f0f\uff0c\u5224\u65ad\u7684\u65f6\u5019\uff0ci\u8fd8\u662f\u4e3a0\uff0c\u4f46\u662f\uff0c\u5224\u65ad\u540ei\u6267\u884c\u4e86++\u64cd\u4f5c\uff0c\u56e0\u6b64\u540e\u9762\u7684\u8f93\u51fa\u4e3a1
0
1

\u5e94\u8be5\u662f\u8f93\u51fa\u201c0,1\u201d\uff08\u4e0d\u5305\u62ec\u5f15\u53f7\uff0c\u5305\u62ec\u9017\u53f7\uff09\uff0cdo
printf("%d,",i);while(i++);\u8fd9\u53e5\u7684\u610f\u601d\u662f\u6267\u884c\u4e00\u6b21\u5faa\u73af\u4f53printf("%d,",i);\u540e\u53ea\u8981while\u540e\u62ec\u53f7\u5185\u7684\u8868\u8fbe\u5f0f\u503c\u4e3atrue\uff0c\u5373\u975e\u96f6\u5c31\u53cd\u590d\u6267\u884c\u5faa\u73af\u4f53\uff0c\u5982\u679c\u4e3afalse\uff0c\u5373\u4e3a\u96f6\u5c31\u8df3\u51fa\u5faa\u73af\uff0c\u6267\u884c\u4e0b\u4e00\u6761\u8bed\u53e5\uff0c\u4f46\u662fi++\u4e3a\u540e\u7f6e\u81ea\u52a0\uff0c\u7b80\u5355\u6765\u8bf4\u5c31\u662f\u5148\u7528\u518d\u52a0\uff0c\u5c31\u662f\u8bf4\u5148\u6267\u884cwhile\u7684\u5224\u65ad\uff0c\u8df3\u51fa\u5faa\u73af\u540ei\u7684\u503c\u53d8\u4e3ai+1\uff0c\u6240\u4ee5\u4e4b\u540e\u7684printf("%d\n",i);\u8f93\u51fa1

应该是输出“0,1”(不包括引号,包括逗号),do printf("%d,",i);while(i++);这句的意思是执行一次循环体printf("%d,",i);后只要while后括号内的表达式值为true,即非零就反复执行循环体,如果为false,即为零就跳出循环,执行下一条语句,但是i++为后置自加,简单来说就是先用再加,就是说先执行while的判断,跳出循环后i的值变为i+1,所以之后的printf("%d\n",i);输出1

扩展阅读:int a[10]={ }哪里错了 ... 长ping 出现1个大毫秒 ... 若有说明int a 3 ... c# 强制保留两位小数 ... c#timer定时器 ... c# 回调函数 ... s+=i ... 若有定义int a 10 ... 若有说明int a10 则对数组 ...

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